表达式 sizeof(\的值是【 】。④③②①
①1 ①&a ①0 ③3.5 ①* ③+
②2 ②_00
③3
④4
④print
下面选项中,不能用作用户标识符的是【 】。
③FOR
②3 ④4 ②!= ④=
②a!=0||b*b-4*a*c>0 ④!a&&b*b-4*a*c>0
已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的值是【 】。
下列运算符中,优先级最低的是【 】。
一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是【 】。
①a!=0, b*b-4*a*c>0 ③a&&b*b-4*a*c>0 ①6_6
下面选项中,可以作为用户标识符的是【 】。
②void ④_0_
②3.0
③unsigned ①3
已有定义“int n; float a, b;”,则执行语句“b=n=a=3.89;”后,b的值为【 】。 ③3.89 ①* ③+
④4.0
②!= ④=
下列运算符中,优先级最低的是【 】。
表达式 !(x>0&&y>0) 等价于【 】。 ①!(x>0)||!(y>0) ③!x>0&&!y>0
②!x>0||!y>0
④!(x>0)&&!(y>0)
下面定义符号常量p为3.14中正确的是【 】。 ①#define p 3.14; ③#define p=3.14 ①a02, Int ③0_a, W13 ①0
②#define p(3.14) ④#define p 3.14 ②table_1, a*.0
④for, point ④4
在下面各组标识符中,均可以用作变量名的一组是【 】。
已知有声明“int x=3, y=4, z;”,则执行语句“z=1/3*(x+y);”后,z的值是【 】。
②3
③3.5
已有定义“int a=4, b=5, c=6;”,则下列表达式中值为0的是【 】。
①a&&b ②a<=b ①小于0的数 ③非1的数 ①预处理
③a||b&&c ④!(!c||1) ②非0的数
④大于0的数 ③连接
④执行
在 C 程序中,用【 】表示逻辑值“真”。
C源程序中的命令#include与#define是在【 】阶段被处理的。
②编译
下面定义符号常量p为3.14中正确的是【 】。
①#define p 3.14; ③#define p=3.14
②#define p(3.14) ④#define p 3.14
已有定义“int x=4, y=3, z=5;”,下面4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不
同的是【 】。
①if(x>y) z=x, x=y, y=z; ③if(x>y) z=x; x=y; y=z;
②if(x>y){z=x, x=y, y=z;} ④if(a>y){z=x; x=y; y=z;}
下面关于continue和break语句的叙述中正确的是【 】。
①continue和break语句都可以出现在switch语句中 ②continue和break语句都可以出现在循环语句的循环体中 ③在循环语句和switch语句之外允许出现continue和break语句 ④执行循环语句中的continue和break语句都将立即终止循环 在while(e)语句中的e与下面条件表达式等价的是【 】。
①e==0 ③e!=1
②e==1 ④e!=0
若函数调用时的实参为变量,则下面关于函数形参和实参的叙述中正确的是【 】。
①实参和其对应的形参占用同一存储单元 ②形参不占用存储单元
③相同名称的实参和形参占用同一存储单元 ④实参和其对应的形参占用不同的存储单元
若变量已正确定义,语句“if(a>b) k=0; else k=1;”和【 】等价。 ①k=(a>b)?1:0; ③k=a<=b;
②k=a>b; ④a<=b ? 0 : 1;
下面关于continue和break语句的叙述中正确的是【 】。 ①continue和break语句都可以出现在switch语句中 ②continue和break语句都可以出现在循环语句的循环体中 ③在循环语句和switch语句之外允许出现continue和break语句 ④执行循环语句中的continue和break语句都将立即终止循环 在C语言中while和do-while循环的主要区别是【 】。 ①do-while的循环体至少无条件执行一次 ②do-while允许从外部转到循环体内
③while的循环控制条件比do-while的循环控制条件严格 ④do-while的循环体不能是复合语句 关于函数返回值,下面叙述中正确的是【 】。
①函数返回值的类型由函数体内return语句包含的表达式的类型决定 ②若函数体内没有return语句,则函数没有返回值
③若函数体中有多个return语句,则函数的返回值是排列在最后面的return语句中表达式的值 ④函数返回值的类型由函数头部定义的函数类型决定
已有函数fun的定义“int fun(int a, int b){ if(a
②4 ④4和3
②if(sqrt(x)%2)y=x;
③3和4
已有预处理命令“#include
①if(x%2=1)y=x; ③if(x==1)y=x;
④if(x==1)y=&x;
下面关于continue和break语句的叙述中正确的是【 】。
①continue和break语句都可以出现在switch语句中 ②continue和break语句都可以出现在循环语句的循环体中
③在循环语句和switch语句之外允许出现continue和break语句 ④执行循环语句中的continue和break语句都将立即终止循环 下面关于循环语句的结论中错误的是【 】。
①可以用while语句实现的循环,一定可以用for语句实现 ②可以用for语句实现的循环,一定可以用while语句实现 ③可以用do-while语句实现的循环,一定可以用while语句实现 ④do-while语句与while语句的区别仅是关键字“while”出现的位置不同 C语言中函数返回值的类型是由【 】决定的。
①return语句中的表达式类型 ②调用该函数的主函数类型 ③定义函数时所指定的函数类型
④以上都可能
②fun2(); ③fun2(void);
②double
④char
④fun2(1);
已有函数fun的定义“void fun2(void) {printf(\’s great! \”,则调用fun2函数的正确形式是【 】。
①fun2; ①int ③void
在C程序中,若对函数类型未加说明,则函数的隐含类型为【 】。
下面函数中能正确计算n!(n<13)的是 【 】 。
①long f(long n)
{ } {
②long f(long n) ②1 ④3 ②a+=a*=a ④a*7.2/a+1 ②(long)110 ④'\\x2c'
{ } {
long s=1,i;
for(i=1;i<=n;i++)s=s*i; return s; }
if(n<=1)return 1; else return n*f(n);
return n*f(n-1);
③long f(long n)
④long f(long n)
static long s,i; return s;
for(i=1;i<=n;i++)s=s*i; } ①0 ③2
设n=10,i=4,则赋值运算“n%=i+1”执行后n的值是【 】。
已有定义“int a=2;”,下面表达式中值不等于8的是【 】。
①a+=2,a*2
③(a+7)/2*((a+1)%2+1) ①0UL ③1e0
下面表示中,不能用作C语言常量的是【 】。
下面关于return语句的叙述正确的是【 】。 ①一个自定义函数中必须有一条return语句
②一个自定义函数中可以根据不同情况设置多条return语句 ③定义成void类型的函数中可以有带返回值的return语句 ④没有return语句的自定义函数在执行结束时不能返回到调用处
已有定义“int a,b;\,执行语句“a=(b=2*3,b*5),b+6;”后,变量a的值是【 】。 ①6 ③30
②12 ④36
表达式 sizeof(\的值是【 】。 ①8 ③10
已有定义“int i, a=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是【 】。 ①for(j=15; j>0; j-=2)a++; ③for(i=0; i<15; i+=2)a++; 下面定义中错误的是【 】。 ①int a=0xFF; ③long a=2L; ①地址传递 ②单向值传递
③由实参传给形参,再由形参传回给实参 ④由用户指定传递方式
若有“int k=4;”,计算表达式(j=k++)后,j和k的值分别为【 】。
①j=3, k=3 ③j=4, k=4 ①-> ③&&
;
②j=3, k=4 ④j=4, k=5 ②++
④=
②double a=1.2e0.5; ④char a='\\72';
②for(j=0; j<15; j+=2)a++; ④for(i=15; i>0; i-=2)a++;
②9 ④11
C语言规定,变量作实参时,它和对应形参之间的数据传递方式是【 】。
下列运算符中,优先级最高的是【 】。
不用第三个变量,将a和b的值进行交换的操作是【 】。
①a+=b;b-=a;a-=b; ③b-=a;a-=b;a-=b ①010 ③'0x41'
②a+=b;b=a-b;a-=b;
④b-=a;a=b-a;a+=b; ②1UL ④0xbe
下列表示中,不可作为C语言常数的是【 】。
设有定义和声明如下:
#define d 2
int a=3; float b=3.14; char c='d'; 下面表达式中有语法错误的是【 】。 ①a++ ③c++ ①1,6 ③2,6
②b++ ④d++ ②1,8 ④2,8
②int a[];
若有枚举类型定义“enum vari{A1, A2, A3, A4=6, A5, A6};”,则枚举常量A2和A6代表的值分别是【 】。
下面数组声明语句中正确的是【 】。
①int n, a[n];
③int a[2][3]={{2},{1},{3}}; 下面函数定义中正确的是【 】。
①int fun(int a, b){} ③int fun(void){} ①十进制数
②int fun(int a[][]){}
④int fun(static int a, int b){} ②八进制数
④int a[ ][3]={{2},{1},{3}};
在C语言中,数字010是一个【 】。