09年桂林电子科技大学C语言试卷A__有答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桂林电子科技大学试卷
2009-2010 学年第 2 学期课号0921306等
课程名称C语言程序设计A (A卷; 闭卷)适用班级(或年级、专业)7院09级
考试时间120 分钟班级学号姓名
第一部分:基础知识(20题,共20分)
1、表达式18/4*2/8值的数据类型为()
A)int B)float C)double D)不确定
2、在C语言中,int, char和short int三种类型变量所占用的内
存大小是()。
A)均为2个字节 B)由用户自己定义 C)由所用机器的字长决定 D)是任意的
3、C语言中函数返回值的类型是()
A)return语句中的表达式类型 B)调用函数的类型
C)总是int型 D)定义函数时所指定的函数类型
4、凡是在函数中未指定存储类别的变量,其隐含的存储类别是
()
A)自动B)静态C)外部D)寄存
器
5、以下不正确的描述是()
A)break语句只能用于循环语句和switch语句
B)在switch语句中,break语句的作用也可用continue语句来
替代
C)在循环语句中,使用continue语句是为了结束本次循环,
而不是终止循环的执行
D)在循环语句中,使用break语句是为了使流程跳出循环体,
提前结束循环
6、以下说法正确的是()
A)输入项可以为一实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如
scanf("a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的
位数,如scanf (“%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scan f(“%f",&f);
7、己知各变量的类型说明如下:
int i=8,k,a,b;
unsigned long w=55;
double x=1.42,y=5.2;
则以下符合c语言语法的表达式是()
A)a+=a-=(b=4)*(a=3) B)a=a*3=2
C)x%(-3) D)y=float(i)
8、已知ch是字符型变量,下面不正确的赋值语句是()
A)ch=‟a+b‟; B) ch=‟\0‟; C)ch
=‟7‟+‟9‟; D)ch=5+9
9、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c),为使变量a
的值为1,b为3,c为2,从键盘输入数据的正确形式应当是______。
A)132<回车>
B)1,3,2<回车>
C)a=l b=3c=2<回车>
D)a=1,b=3,c=2<回车>
10、逻辑运算符两侧运算对象的数据类型()
A)只能是0或l
B)只能是0或非0正数
C)只能是整型或字符型数据
D)可以是任何类型的数据
11、一个c程序的执行是从()
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个
函数结柬
C)本程序的main函数开始,到本程序文件的最后一个函数结
束
D)本程序文件的第一个函数开始,到本程序main函数结束
12、以下程序段()
x=-1;
do
{x=x*x;}
while(!x);
A)是死循环 B)循环执行二次
C)循环执行一次 D)有语法错误
13、以下正确的叙述是()
A)C语言允许main函数带形参,且形参个数和形参名均可由
用户指定
B)C语言允许main函数带形参,形参名只能是argc和argv
C)当main函数带有形参时,传给形参的值只能从命令行中得
到
D)若有说明:main(int argc,char *argv),则形参argc的值必须
大于1
14、若有宏定义 #define mod(x,y) x%y ,则执行以下程序段后,
输出为()
int z,a=15,b=100;
z=mod(b,a);
printf(“%d/n”,z++);
A)11 B)10 C)6 D)宏定义不合法
15、以下程序中调用scanf函数给变量a输入数值的方法是错误
的,其正确的解释是_()main()
{int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
……
}
A)*p表示的是指针变量p的地址
B)*p表示的是变量a的值,而不是变量a的地址
C)*p表示的是指针变量p的值
D)*p只能用来说明p是—个指针变量
16、若有说明语句: char s1[4]=”12”; char *ptr;
则执行下列语句后输出为()
ptr=s1;
printf(“%c/n”,*(ptr+1));
A)字符…2‟ B)整数2 C)字符串“12” D)字符…1‟
17、若有以下语句
int x[]={2,4,6,8,10,12},*ptr;
ptr=x;
则对数组元素的正确引用为()
A)x B)x[6] C)*(--ptr) D 、 *(++ptr)
18、若有说明语句:int i,x[3][4];则不能实现将x[1][1]的值赋给变
量i的语句是()
A)i=*(*(x+1)+1) B)i=*(*(x+1)) C)i=x[1][1] D)i=
*(x[1]+1)
19、若用数组名作为函数调用的实参,传递给形参的是____。
A)数组的首地址
B)数组第一个元素的值
C)数组中全部元素的值
D)数组元素的个数
20、若有定义:int a[5];则a数组中首元素的地址可以表示为()
A)&a B)a+l C)a D)&a[1]