1、下列叙述中,不正确的是( )。
A、一个C源程序必须有且只有一个主函数 B、一个C源程序可以包含零个或若干个子函数 C、在C源程序中,注释说明必须位于语句之后 D、C源程序的基本结构是函数 2、下列叙述中,不正确的是( )。 A. 分号是C语句的必要组成部分 B. C语句的注释可以写在语句的后面 C. 函数是C程序的基本单位
D. 主函数的名字不一定有main表示 3、以下不是C语言的特点是( )。 A、 C语言简洁紧凑
B、C语言可以直接对硬件进行操作 C、C语言的可移植性好 D、C语言编程容易
4、构成C语言的基本单位是( )。
A、过程 B、函数 C、子程序 D、命令 5、一个C程序的执行是从( ) 。
A、main函数开始,直到main函数结束
B、main函数开始,直到最后一个函数结束 C、从第一个函数开始,直到最后一个函数结束 D、第一条语句开始,直到最后一条语句结束 6、在C语言中,main函数的位置 A、必须作为第一个函数 B、必须作为最后一个函数 C、可以任意
D、必须放在它所调用的函数之后 7、C程序是由( )构成的。
A、一个主程序与若干个子程序 B、一个或多个函数 C、若干过程 D、若干子程序 8、以下叙述不正确的是( )。
A.在C程序中,注释说明只能位于一条语句的后面 B. 注释说明被计算机编译系统忽略
C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用 D. 注释符“/”和“*”之间不能有空格
9、下列符号串中,属于C语言合法标识符的是。
A. ex-1 B. if C. _cook D. 951a 10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。 A、K%2 B、K%2= =1 C、(K%2)! =0
D、!K%2= =1
11、对于一个完整的可运行的C源程序,下列哪一个说法是正确的? A、C语言程序总是从第一个定义的函数开始执行。
B、在C语言程序中,要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。
D、C语言程序中的main()函数必须放在程序的开始部分。 12、下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!=
13、设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为( ) A.1 B.2 C.3 D.0
14、设有int = 14,则表达式(x++ *1/3)的值是: ( ) A、5 B、4 C、14 D、15
15、若x是单精度实型变量,表达式 x = 10/4 的值是_____ 。 A. 2.5 B. 2.0 C. 3 D. 2 16、 表达式 !x 等价于_____。
A. x == 0 B. x == 1 C. x != 0 D. x != 1
17、 在 C 程序中,用_____表示逻辑值\真\。
A. 1 B. 非 0 的数 C. 非 1 的数 D. 大于 0 的数
18、若变量已正确定义,语句if(a>b) k=0; else k=1;和______等价。 A. k=(a>b)?1:0; B. k=a>b; C. k=a<=b; D. a<=b ? 0 : 1;
19、若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。 x=(i=4,j=16,k=32)
A. 4 B. 16 C.32 D. 52
20、10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 。
A.0~255 B. 0~32767 C. 0~65535 D.0~2147483647 21、以下合法的十六进制数是()。 A、0x B、0x4de C、0xlh D、ox77
22、若a 为 int 型,且其值为3,则执行完表达式:a += a -= a*a后,a 的值是( )。 A、-3 B、9 C、-12 D、6
23、若t 已定义为 double 型,则表达式:t = 1 ,t + +,t +5 的值为( )。 A、 7 B、7.0 C、2.0 D、1.0
24、 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为______。 A. int B. float C. double D. 不确定
25、 下关于运算符优先顺序的描述中正确的是_____。 A. 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B. 逻辑运算符<关系运算符<算术运算符<赋值运算符 C. 赋值运算符<逻辑与运算符<关系运算符<算术运算符
D. 算术运算符<关系运算符<赋值运算符<逻辑与运算符 26、 下列运算符中自左向右结合的是____。 A、 = B、 -> C、 ? : D、++ 27、 下列判断闰年的表达式中错误的是____。 A. leap = n % 400 == 0 || n % 4 == 0 && n % 100 != 0; B. leap = n % 4 == 0 && ( n % 100 != 0 || n % 400 == 0 ); C. leap = ! ( n % 400 != 0 && n % 4 != 0 || n % 100 == 0 ); D. leap = n % 400 == 0 && n % 4 == 0 || n % 100 != 0 ; 28、以下程序的运行结果是( ) main()
{ int a=3,b=2,c=1;
printf(“\\n%d\\n”,a
A.4 B.3 C.2 D.1 29、表达式______的值是0。
A. 3%5 B. 3/5.0 C. 3/5 D. 3<5
30、 表达式 !(x>0||y>0) 等价于_____。 A. !x>0||!y>0 B. !(x>0)||!(y>0) C. !x>0&&!y>0 D. !(x>0)&&!(y>0)
31、若变量已正确定义并赋值,表达式______不符合C语言语法。 A. 4&&3 B +a C. a=b=5 D. int(3.14)
32、设x,y,z,t均为int型变量,则执行以下语句后,t的值为_____。 x=y=z=1;
t=++x||++y&&++z;
A. 不定值 B. 2 C. 1 D. 0
33、标识符只能由字母、数字和下划线三种字符组成,且第一个字符_____。 A. 必须为字母 B. 必须为下划线
C. 必须为字母或下划线
D. 可以是字母,数字和下划线中任一种字符
34、190)若变量已正确定义并赋值,表达式 -k++ 等价于______。 A. -(k++) B. (-k)++ C. -(k+1) D. -(++k) 35、下面程序段的执行结果是() a=1;b=2;c=2; while(a
t=a ; a=b ; b=t ; c-- ; }
printf(“%d,%d,%d”,a,b,c);
A、1,2, 0 B、2,1,0 C 、1,2,1 D、2,1,1 36、以下程序段中的变量已正确定义
for( i=0; i<4; i++)
for(k=1; k<3; k++); pritntf(“*”); 程序段的输出结果是()
A、 ******** B、 **** C、** D、 * 37、以下是if语句的基本形式: If( 表达式 ) 语句 其中“表达式”()
A、必须是逻辑表达式 B、必须是关系表达式 C、必须是逻辑表达式或关系表达式 D、可以是任意合法的表达式
38、若函数中有定义语句:int k ; 则 。
A、系统将自动给k赋初值0 B、这时k 中的值无定义 C、系统将自动给k赋初值-1 D、这时中k无任何值 39、 若变量已正确说明为float类型,要通过语句scanf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是: A. 10<回车> B 10.0,22.0,33.0<回车> 22<回车> 33<回车>
C. 10.0<回车> D. 10 22<回车> 22.0 33.0<回车> 33<回车> 40、 请阅读以下程序: main() {
int a=5, b=0, c=0;
if(a=b+c) printf(\\ e1se printf(\ }
以上程序_____。
A. 有语法错不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$
41、 若变量已正确定义,执行语句scanf(\\时,______是正确的输入。( _表示空格)
A. 2030,40 B. 20_30_ 40 C. 20, 30_ 40 D. 20, 30,40 42、下列程序的输出结果是_____。 fun(int a, int b, int c) {
c = a*b; }
main( ) { int c;
fun(2, 3, c);
printf(\ }
A. 0 B. 1 C. 6 D. 无法确定
43、在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。 A. int B. double C. void D. char
44、数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。 A. 该数组的元素个数 B. 该数组中各元素的值 C. 该数组的首地址 D. 以上答案均不对
45、以下关于说法正确的是_____。
A. 实参和与其对应的形参各占用独立的存储单元 B. 实参与其对应的形参共占用一个存储单元
C. 实参和与其对应的形参同名时才共占用存储单元 D. 形参虚拟的,不占用存储单元
46、 若调用一个函数(无全局、指针、静态变量),且此函数中没有return语句,则关于该函数正确的说法是_____。 A. 无返回值
B. 返回若干个系统默认值
C. 能返回一个用户所希望的函数值 D. 返回一个不确定的值
47、简单变量做实参时,它相对应形参之间的数据传递方式是____。 A. 地址传递 B. 单向值传递
C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式
48、下面说法正确的是_____。
A. 函数定义可以嵌套,但函数调用不能嵌套 B. 函数定义不可以嵌套,但函数调用可以嵌套 C. 函数定义和调用均不能嵌套 D. 函数定义和调用均可以嵌套
49、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。 A. 函数调用可以作为独立的语句存在 B. 函数调用可以作为一个函数的实参 C. 函数调用可以出现在表达式中 D. 函数调用可以作为一个函数的形参 50、 已定义以下函数 fun(int *p) { return *p; }
该函数的返回值是_____。
A. 不确定的值 B. 形参p中存放的值
C. 形参p所指存储单元中的值 D. 形参p的地址值 51、下列函数定义中,会出现编译错误的是_____。 A. max(int x,int y,int *z) B. int max(int x,y) { *z=x>y ? x:y; } { int z; z=x>y ? x:y;