C基础(含答案)

时间:2022-11-22 13:49:43 作者:壹号 字数:3462字

考试详情

考试场次:2014_06月月考_06月26日_C++/IOS 试卷名称:2014年06月_C++_CSD/ESD1405

1.

以下代码实现的是字符串的哪个函数? void f(char *s1,char *s2){ while(*s1++); s1--;

while(*s1++=*s2++); }

A. strcpy函数 B. strcat函数 C. strlen函数 D. strcmp函数 正确答案:B

2.

typedef struct Part{ short s; int id; char name; } Part; int main(){

printf(“%d\n”,sizeof(Part)); }

在考虑结构的对齐和补齐的前提下,打印的结果应该是:

A. 7 B. 8 C. 10 D. 12 正确答案:D

3.

所谓“水仙花”数是一个整数等于各位数字立方的和,例如:153 = 1*1*1+5*5*5+3*3*3,下面的程

用于输出2~1000内的水仙花数: int n;

for (n = 2; n <= 1000; n++) { (空白处) if (s == n) {

printf(“%d\n”,n); } }

下列选项中,空白处可以填入的代码是?

A.

int s = 0, n1 = n; while (n1 > 0) { int t = n1 % 10; s += t * t * t; n1 /= 10; }

B.

int s = 0, n1 = n; while (n1 > 0) { int t = n1 / 10; s+= t * t * t; n1 %= 10; }

C. int n1,s;

for(n1 = n; n1>0; n1 /= 10) { int t = n1; s += t * t * t; }

D. int n1,s = 0;

for(n1 = n; n1>0; n1 %= 10) { int t = n1 / 10; s += t * t * t; }

正确答案:A

4. 对一个算法的评价,不包括下列( )方面的内容。

A. 健壮性和可读性 B. 并行性 C. 正确性 D. 时空复杂度 正确答案:B

5. 以下代码

int a[2][5] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; printf (的输出是?

A. 1 B. 5 C. 6 D. 10 正确答案:B

6. -80转换成二进制的结果是:

A. 1011 0000 B. 0101 0000 C. 1101 0001 D. 1010 1111 正确答案:A

7.

以下两条语句:

scanf ();

cin.ignore (80, '\n'); 在行为方面有何不同?

A. 前者读取并丢弃输入缓冲区中的首个换行符,后者读取并丢弃输入缓冲区中的前80个换行符 B. 前者读取并丢弃输入缓冲区中的所有换行符,后者读取并丢弃输入缓冲区中的后80个换行符 C. 前者读取并丢弃输入缓冲区中的所有字符直至遇到换行符,后者读取并丢弃输入缓冲区中的80个字符,若遇到换行符则提前返回

D. 二者完全等价,没有任何不同 正确答案:C

8.

以下代码实现的是字符串的哪个函数? int i;

for(i=0;;i++){

if(*(s1+i)=='\0') break; }

return i;

A. strcpy函数 B. strcat函数 C. strlen函数 D. strcmp函数 正确答案:C

9. 关于预处理指令,以下说法正确的是:

A. #include可以包含文件,文件名必须用<>括起来 B. #define可以定义宏,宏一旦定义,就无法取消 C. #ifndef、#ifdef都可以用于条件编译 D. #elseif 可以用于条件编译 正确答案:C

10. 以下代码 char c = 200;

printf (的输出是?

A. 200 B. 56 C. -56 D. -55 正确答案:C

11. 命令chmod 644 myfile将myfile文件的权限设置为?

A. 属主用户可读可执行,同组和其它用户可读 B. 属主用户可读可写,同组和其它用户可读 C. 属主用户可写可执行,同组和其它用户可执行 D. 属主和同组用户可读,其它用户可读可写 正确答案:B

12.

…… 此处隐藏0字 ……

阅读如下代码: typedef int T;

//用数组实现简单的栈 class Stack{

T data[10]; int sz; public:

Stack():sz(){}

void push(const T& d)throw(const char*){ if(sz==10)throw (空白处) }

void pop()throw(const char*){ if(sz==0)throw sz--; }

T top()const throw(const char*){ if(sz==0)throw return data[sz-1]; }