C程序设计18春在线作业2-0004
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 60 分)
1.以下对二维数组a进行正确初始化的是()
A.int a[2][3]={{1,2},{3,4},{5,6}};
B.int a[ ][3]={1,2,3,4,5,6};
C.int a[2][ ]={1,2,3,4,5,6};
D.int a[2][ ]={{1,2},{3,4}};
2.以下程序 main( ) { int i=010,j=10,*pi,*pj; pi=&i; pj=&j; printf("%d,%d\n",*pi,*pj); } 的输出结果为()
A.10,10
B.8,10
C.010,10
D.8,8
3.以下能正确定义二维数组的是()
A.int a[][3];
B.int a[][3]= {2*3};
C.int a[][3]={};
D.int a[2][3]={{1},{2},{3,4}}
4.以下程序: int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); 的输出结果是()
A.62.000000
B.62.800000
C.63.000000
D.62
5.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是()
A.字符A
B.字符a
C.字符e
D.非法的常量
6.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是()
A.(!a= =1)&&(!b= =0)
B.(a<b)&& c
C.a && b
D.a||(b+b)&&(c-a)
7.下列函数: int fun1(chat* x) {char*y=x; while(*y++); return(y-x-1);} 的功能是 ()
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串x复制到字符串y
D.将字符串X连接到字符串Y后面
8.以下程序: main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); } 的输出结果是()
A.5
B.4
C.6
D.不确定
9.C程序设计语言是()
A.机器语言
B.只适合编写应用软件的语言
C.高级语言
D.只适合编写系统软件的语言
10.以下程序: main() { int i , sum; for(i=1;i<6;i++) sum+=i; printf(“%d\n”,sum); } 执行程序后sum的值是()
A.15
B.14
C.不确定
D.0
11.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()
A.void
B.int
C.float
D.double
12.以下叙述中不正确的是()
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
13.C语言源程序的基本单位是()
A.过程
B.函数
C.子程序
D.标识符
14.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是()
A.s=a+b;
B.s=a+c;
C.s=s+c;
D.s=b+c;
15.指出下面正确的输入语句()
A.scanf(“a=b=%d”,&a,&b);
B.scanf(“%d,%d”,&a,&b) ;
C.scanf(“%c”,c) ;
D.scanf(“% f%d\n”,&f) ;
16.t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是 ()
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式不合法
D.以上说法都不对
17.C语言中以追加方式打开一个文件应选择的参数。()
A.“r”
B.“w”
C.“rb”
D.“a”
18.以下程序 #define P 3 #define F(x) P*x*x main() { printf("%d\n",F(3+5)); } 的输出结果是()
A.192
B.29
C.25
D.编译出错
19.以下所列的各函数首部中,正确的是()
A.void play(var :Integer,var b:Integer)
B.void play(int a,b)
C.void play(int a,int b)
D.Sub play(a as integer,b as integer)
20.以下程序: fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=31; fun(5,2,a); printf(“%d”,a); } 程序的输出结果是()
A.0
B.29
C.31
D.无定值
二、 判断题 (共 20 道试题,共 40 分)
1.for循环只能用于循环次数已经确定的情况。
A.错误
B.正确
2.数组的元素在内存中连续存贮。
A.错误
B.正确
3.main函数不能有形参。
A.错误
B.正确
4.一个C程序只能由一个源文件构成。
A.错误
B.正确
5.在循环过程中,使用break语句和continue语句的作用是一样的。
A.错误
B.正确
6.for(i=0; ;i++);是死循环结构。
A.错误
B.正确
7.若str1,str2是两个字符串,则if(str1==str2)可以比较两个字符串是否相等。
A.错误
B.正确
8.从变量的作用域分,变量分为静态变量和动态变量。
A.错误
B.正确
9.C语言的数组下标从1开始。
A.错误
B.正确
10.ab.c是合法的标识符。
A.错误
B.正确
11.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。
A.错误
B.正确
12.从循环体中退出只能使用goto语句。
A.错误
B.正确
13.关系运算符= =和!=的优先级相同。
A.错误
B.正确
14.switch选择结构中必须有default子句。
A.错误
B.正确
15.若有形参定义:int a[10];则a++是合法的表达式。
A.错误
B.正确
16.C语言规定数组元素的下标从0开始。
A.错误
B.正确
17.C语言中的文件都是用ASCII码进行存贮的。
A.错误
B.正确
18.int *p=10;的含义是定义了一个指向整型的指针变量,且将变量p的值赋为10。
A.错误
B.正确
19.当函数类型与return 表达式;中表达式的类型不一致时,以函数类型为准。
A.错误
B.正确
20.putchar()一次可以输出多个字符。
A.错误
B.正确
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。