江 西 理 工 大 学 考 试 试 卷
试卷编号: 20 11 —20 12 学年第 2 学期 课程名称: C语言程序设计(B) 考试时间: 年 月 日 考试性质(正考、补考或其它):[ ] 考试方式(开卷、闭卷):[ 闭卷 ] 试卷类别(A、B、C):[ A ] 共 四 大题 温 馨 提 示 请考生自觉遵守考试纪律,争做文明诚信的大学生。如有违犯考试纪律,将严格按照《江西理工大学学生违纪处分暂行规定》处理。 班级 学号 姓名 题号 得分 一 二 三 四 总 分 一、单项选择题(每题2分,共40分)
1、C语言中的基本类型包括__________
A.整型、实型、逻辑型 B. 整型、实型、字符型
C.整型、逻辑型、字符型 D. 整型、实型、逻辑型、字符型
2、C语言中,合法的用户标识符是( )
A._a10 B.ab.txt C.return D.3ab 3、以下叙述中,不正确的是( )
A. C语言程序中可以有若干个main()函数 B. C语言程序必须从main()函数开始执行 C. C语言程序中必须要有main()函数 D. C语言程序是由若干个函数组成 4、以下选项正确的定义语句是( )
A. double a; b; B.double a=b=7; C. double a=7,b=7; D. double ,a,b; 5、设“double x=1,y;”表达式y=x+3/2的值是_________
A. 1 B. 2 C. 2.0 D. 2.5 6、以下能正确定义二维数组的语名为____________。
A.int a[][]; B.int a[][]4; C.int a[3][]; D.int a[3][4]; 7、C语言中,正确表示“1030”的条件表达式为______________。
A.(a>10&&a<20)&&(a>30) B.(a>10&&a<20)||(a>30) C.(a>10||a<20)||(a>30) D.(a>10&&a<20)||!(a<30) 8、设“int a=9;”,语句“a+=a-=a+a;”执行后,变量a的值是 ( ) A.18 B.9 C.-18 D.-9 9、在以下一组运算符中,优先级最高的是:( )
A、<= B、== C、% D、&&
10、已知字母A的ASCII码为65,以下语句段的输出结果是____________。
1
Char c1=’A’,c2=’Y’; printf(“%d,%d\\n”,c1,c2);
A.输出格式非法,输出错误信息 B. 65,90 C.A,Y D.65,89 11、关于if后面一对圆括号中的表达式,叙述正确的是_______ A.只能用关系表达式 B 只能能逻辑表达式
C.只能用关系表达式或逻辑表达式 D 可以使用任意合法的表达式 12、C程序编译后最终产生(即计算机可执行)的文件的扩展名为( ) A..exe B..c C..obj D..cpp
13、C语言中,引用数组元素时,其数组下标的数据类型允许是( )
A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 14、以下斜述正确的是__________
A.形参必须是变量 B.函数中必须有return语句
C.在其他函数中定义的变量不得与main函数中的变量同名 D.return语句中必须指定一个确定的返回值或表达式
15、已知梯形的上底为a,下底为b,高为h,用C语言写的正确的面积公式是()
A.1/2*(a+b)*h B.1.0/2*(a+b)*h C.1.0/2.0(a+b)h D.1.0\\2*a+b*h 16、下列表达式中,值为0的表达式是( )
A.3!=0 B.3!=3>4 C.3>4==0 D.6>5>4 17、用数组名作为函数调用的实参,传递给形参的是( )
A.数组第一个元素的值 B.数组的首地址 C.数组中全部元素的值 D.数组元素的个数 18、在C语言中,函数返回值的类型最终取决于( )
A. 函数定义时在函数首部所说明的函数类型 B. return语句中表达式值的类型
C. 调用函数时主函数所传递的实参类型 D. 函数定义时形参的类型
19、若定义“int *p1,*p2,a=3; ”,则能够正确执行的语句是______ A.p1=&a; B.p2=a; C.*p1=a; D.*p2=*p1; 20、下列选项中正确的语句组是:( )
A.char s[8]; s={\ B.char *s; s={\C.char s[8]; s=\ D.char *s; s=\
二、填空题(每空1分,共20分)
1、C语言开发工具直接输入的程序代码是【1】文件,经过编译后生成的是【2】_文件,经过连接后生成的是【3】文件。源,目标,可执行
2、C程序中的函数包括_【4】 、用户自定义函数与系统提供的库函数。主函数main 3、结构化程序的三种基本结构为【5】_、_【6】__、_【7】_。顺序、选择、循环
2
4、C语言程序在执行过程中,不检查数组下标是否_【8】_。 越界
5、已知变量x为整型,执行语句“x=3+2.6”,x*10; printf(“x=%d\\n”,x); 后的输出结果是_【9】。5
6、若定义int A[3][4];则在数组A的行下标上限是【10】,列下标的上限为【11】。2,3 7、将数学式|x>2|写成C语言的逻辑表达式【12】 。x<-2||x>2
8、C语言中,“#define PI 3.14”将PI定义为___【13】____。符号常量
9、C语言中,用【14】 表示’逻辑真’, 【15】 表示’逻辑假’。 10、至少执行一次循环体的循环语句是 【16】 语句。do-while 11、静态局部变量应该用关键字【17】 来进行声明。static。 12、与语句while(!s )中条件等价的另一种书写方式为【17】 。s==0
13、在C语言中,数组名一个__【18】______,不能对其进行赋值操作。地址常量 14、若有定义“int x=5”,则表大字式x+=x*=x的计算结果为___【19】 _。 50
15、若有定义“float a[3],*p=a”,则语句p=p+1中的1所代表的字节数是 【20】 。4
三、阅读程序题(每小题5分,共20分)
1、下面程序的执行结果是( ) a=3,b=7,x=1,y=2 #include
void add(int a,int b) {
a+=2; b+=5;
printf(\}
int main() {
int x=1,y=2; add(x,y);
printf(\ return 0; }
2、以下程序的输出结果是( ) 5,2
#include
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p; p=&x[1][1];
for(i=0;i<6;i+=3) printf(\ }
3、以下程序的输出结果是( )15
3
#include
int x;
switch(x=1) {
case 0: x=10; break; case 1: switch(x=1) {
case 1:x=15; break; case 2:x=20; break; } }
printf(\}
4、以下程序的运行结果是( )10100
#include
int a=20,v[8],i=0,j,t; do {
t=a/2;
v[i++]=a%2; a=t;
} while(a>0);
for (j=i-1;j>=0;j--) printf(\ printf(\}
四、程序设计题(每题10分,共20分)
1、(10分)统计1~100(包括100)中能被3整除同时能被5整除的整数个数,并在屏幕上输出.
2、(10分)编程计算5行5列整数矩阵的主对角线元素之和,并输出之,要求矩阵元素由键盘输入。
4