常熟理工学院C语言题库最新版

表达式 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 ”和声明“int x=4, y;”,下面语句中语法正确的是【 】。

①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是一个【 】。

联系客服:779662525#qq.com(#替换为@)