D)10,One*World 有以下程序 #include main()
{ int a[ ]={2,3,5,4},i; for(i=0;i<4;i++) switch(i%2)
{ case 0:switch(a[i]%2) {case 0:a[i]++;break; case 1:a[i]--; }break; case 1:a[i[=0; }
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\\n”); }
A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4 有以下程序 #include #include main()
{ char a[10]=”abcd”;
printf(“%d,%d\\n”,strlen(a),sizeof(a)); }
程序运行后的输出结果是 A)7,4 B)4,10 C)8,8 D)10,10
下面是有关C语言字符数组的描述,其中错误的是 A)不可以用赋值语句给字符数组名赋字符串 B)可以用输入语句把字符串整体输入给字符数组 C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串 下列函数的功能是 fun(char * a,char * b)
{ while((*b=*a)!=?\\0?) {a++,b++;} } A)将a所指字符串赋给b所指空间 B)使指针b指向a所指字符串
C)将a所指字符串和b所指字符串进行比较 D)检查a和b所指字符串中是否有’\\0’ 设有以下函数
void fun(int n,char * s) {……}
则下面对函数指针的定义和赋值均是正确的是 A)void (*pf)(); pf=fun; B)viod *pf(); pf=fun; C)void *pf(); *pf=fun;
D)void (*pf)(int,char);pf=&fun; 有以下程序 #include int f(int n); main() { int a=3,s;
s=f(a);s=s+f(a);printf(“%d\\n”,s); }
int f(int n)
{ static int a=1; n+=a++; return n; }
程序运行以后的输出结果是 A)7 B)8 C)9 D)10 有以下程序 #include
#define f(x) x*x*x main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1)); printf(“%d,%d\\n?,s,t); }
程序运行后的输出结果是 A)10,64 B)10,10 C)64,10 D)64,64
下面结构体的定义语句中,错误的是
A)struct ord {int x;int y;int z;}; struct ord a; B)struct ord {int x;int y;int z;} struct ord a; C)struct ord {int x;int y;int z;} a; D)struct {int x;int y;int z;} a;
设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是 A)char str[ ]=”string”;c=str; B)scanf(“%s”,c);
C)c=getchar(); D)*c=”string”; 有以下程序 #include #include struct A
{ int a; char b[10]; double c;}; struct A f(struct A t); main()
{ struct A a={1001,”ZhangDa”,1098.0}; a=f(a);jprintf(“%d,%s,%6.1f\\n”,a.a,a.b,a.c); }
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; ) 程序运行后的输出结果是 A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)1001,ChangRong,1098.0 D)1001,ChangRong,1202.0 若有以下程序段 int r=8;
printf(“%d\\n”,r>>1); 输出结果是 A)16 B)8 C)4 D)2
下列关于C语言文件的叙述中正确的是
A)文件由一系列数据依次排列组成,只能构成二进制文件 B)文件由结构序列组成,可以构成二进制文件或文本文件 C)文件由数据序列组成,可以构成二进制文件或文本文件 D)文件由字符序列组成,其类型只能是文本文件
下面表示中,不能用作C语言常量的是 。
A.0UL B.(long)110 C.1e0 D.'\\x2c' 设有定义和声明如下:
#define d 2
int a=3; float b=3.14; char c='d';
下面表达式中有语法错误的是 。 A.a++ B.b++ C.c++ D.d++
若有枚举类型定义“enum vari{A1, A2, A3, A4=6, A5, A6};”,则枚举常量A2和A6代表的值分别是 。
A.1,6 B.1,8
C.2,6 D.2,8
下面数组声明语句中正确的是 。
A.int n, a[n]; B.int a[];
C.int a[2][3]={{2},{1},{3}}; D.int a[ ][3]={{2},{1},{3}}; 下面函数定义中正确的是 。
A.int fun(int a, b){} B.int fun(int a[][]){} C.int fun(void){} D.int fun(static int a, int b){} 在C语言中,数字010是一个 。
A.十进制数 B.八进制数 C.十六进制数 D.非法数
若有说明“int a[3][4]={0};\,则下面正确的叙述是 。
A.只有元素a[0][0]可得到初值 B.此说明语句不正确
C.数组a中各元素都可得到初值,但其值不一定为0 D.数组a中每个元素均可得到初值0 如果有声明“int m,n=5,*p=&m;”,与m=n等价的语句是 。
A.m=*p; B.*p=*&n; C.m=&n; D.m=**p; 已有定义“char b[6],*p=b;”,则正确的赋值表达式语句是 。
A.b=\ B.*b=\C.p=\ D.*p=\已有定义“char ch[5]={'a', 'b', 'c', 'd'}, *p=ch, i;”,则下面语句中不能正确输出ch数组全部元素值的是 。
A.for(i=0; i<4; i++) printf(\B.for(i=0; i<4; i++) printf(\C.for(i=0; i<4; i++) printf(\D.for(i=0; i<4; i++) printf(\
C语言中可以处理的文件类型有 。
A.文本文件和二进制文件 B.文本文件和数据文件 C.数据文件和二进制文件 D.以上三个都不对 若有定义“int a[5],*b=a, (*c)[3],*d[3];”,则下面表达式中有语法错误的是 。
A.a[0]=0 B.b[0]=0 C.c[0]=0 D.d[0]=0
已知有程序段“char str[][8]={\\*p=&str[0][0];printf(\p+8);”,则执行printf语句后输出为 。
A.second B.first C.ond D.nd 下面叙述错误的是 。
A.宏替换不占用程序运行时间 B.宏名无类型
C.宏名必须用大写字母表示 D.宏替换只是字符替换 设有定义和声明语句:
typedef struct cc { int a;
struct cc *b;
}node;
static node aa[3]={5, &aa[1], 7, &aa[2], 9, '\\0'}, *p=&aa[0]; 下列选项中,表达式值不为5的是 。 A.aa[1].b->a-2 B.p->b->a-2 C.(p+1)->a-2 D.p->a
下面关于共用体类型的叙述正确的是 。
A.可以给共用体类型变量直接赋值
B.一个共用体类型变量中可以同时存入其所有成员 C.一个共用体类型变量中不能同时存入其所有成员 D.共用体类型定义中不能同时出现结构体类型的成员 表达式 sizeof(\的值是 。
A.1 B.2 C.3 D.4 下面选项中,不能用作用户标识符的是 。
A.&a B._00 C.FOR D.print 已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的值是 。
A.0 B.3 C.3.5 D.4
下列运算符中,优先级最低的是 。
A.* B.!= C.+ D.=
一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是 。
A.a!=0, b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0 C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0 下面定义符号常量p为3.14中正确的是 。
A.#define p 3.14; B.#define p(3.14) C.#define p=3.14 D.#define p 3.14 已有定义“int x=4, y=3, z=5;”,下面4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是 。
A.if(x>y) z=x, x=y, y=z; B.if(x>y){z=x, x=y, y=z;} C.if(x>y) z=x; x=y; y=z; D.if(a>y){z=x; x=y; y=z;} 下面关于continue和break语句的叙述中正确的是 。
A.continue和break语句都可以出现在switch语句中
B.continue和break语句都可以出现在循环语句的循环体中
C.在循环语句和switch语句之外允许出现continue和break语句 D.执行循环语句中的continue和break语句都将立即终止循环 在while(e)语句中的e与下面条件表达式等价的是 。
A.e==0 B.e==1 C.e!=1 D.e!=0
若函数调用时的实参为变量,则下面关于函数形参和实参的叙述中正确的是 。
A.实参和其对应的形参占用同一存储单元 B.形参不占用存储单元
C.相同名称的实参和形参占用同一存储单元 D.实参和其对应的形参占用不同的存储单元