参考试题.docx
- 文档编号:28216499
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:17
- 大小:26.47KB
参考试题.docx
《参考试题.docx》由会员分享,可在线阅读,更多相关《参考试题.docx(17页珍藏版)》请在冰豆网上搜索。
参考试题
2007年一学期
专业
《C语言程序设计》试题A卷
注意:
在此页答题无效,请将答案写在答题册上,标清题号。
一、选择题(本大题共30小题,每小题1分,共30分,请将答案填写到下面表格内,未填写在表格内,视为0分)
第1-10题
第10-20题
第20-30题
1、按照标识符命名的要求,()符号不能组成标识符。
A)连接符B)下划线
C)大小写字母D)数字字符
2、八进制表示的字符常量‘\102’是字符()。
A)AB)B
C)aD)b
3、以下选项中属于C语言数据类型的是()
A)复数型B)逻辑型
C)双精度型D)集合型
4、C语言程序的基本单位是()。
A)程序行B)语句
C)函数D)字符
5、设有语句chara='\72';则变量a()。
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法
6、已知ch是字符型变量,下面不正确的赋值语句是()。
A)ch='a+b';B)ch='\0';
C)ch='7'+'9';D)ch=5+9;
7、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。
A)0~255B)0~32767
C)0~65535D)0~2147483647
8、下列double常量中,()是错误的。
A)E5B).35
C)3E5D)3E-5
9、合法的长整型常数是()。
A)0LB)4962710
C)324562XD)216D
10、那一种输出格式不能作为指针变量的输出格式()。
A)%pB)%u
C)%xD)%d
11、在C语言中, char型数据在内存中的存储形式是()。
A)补码 B)反码
C)原码 D)ASCII码
12、下列各运算符中,()不能作用于浮点数运算。
A)/B)&&
C)!
D)~
13、以下选项中,不是C语句的是()。
A){inti;i++;printf(“%d\n”,i);}B);
C)a=5,c=10D){;}
14、数组名作为函数参数传递时,传递的是()。
A)数组的首元素B)数组的所有元素
C)数组的首地址D)语法错误
15、下列函数的功能是()。
intfun(char*x)
{char*y=x;
while(*y++);
return(y-x-1);
}
A)求字符串的长度B)比较两个字符串的大小
C)将字符串x复制到字符串yD)将字符串x连接到字符串y后面
16、算法具有五个特性,以下选项中不属于算法特性的是()。
A)有穷性B)简洁性
C)可行性D)确定性
17、在C语言中,逻辑值“真”用()表示。
A)trueB)大于0的数
C)非0的整数 D)非0的数
18、若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。
A)abs(x-y)<10B)x-y>-10&&x-y<10
C)!
(x-y)<-10||!
(y-x)>10D)(x-y)*(x-y)<100
19、表达式:
10!
=9的值是() 。
A)true B)非零值
C)0 D)1
20、一个C语言程序是由() 。
A)一个主程序和若干子程序组成 B)函数组成
C)若干过程组成 D)若干子程序组成
21、以下能正确定义且赋初值的语句是()
A)intn1=n2=10;B)charc=32;
C)floatf=f+1.1;D)doublex=12.3e2.5;
22、 若变量已正确定义,表达式(j=3,j++)的值是()。
A)3 B)4
C)5 D)0
23、表达式strcmp("box","boss")的值是一个()。
A)正数 B)负数
C)0 D)不确定的数
24、若变量都已经正确定义,以下表达式中非法的是()
A)a/=b+cB)a%4.0
C)a=1/2*(x=y=10,x*3)D)a=b=c
25、假设int型变量占两个字节的存储单元,若有定义:
intx[10]={0,2,4};
则数组x在内存中所占字节数为()。
A)3B)6
C)10D)20
26、下列标识中,()不是局部变量。
A)registerB)外部static类
C)auto类D)函数形参
27、有如下定义:
inta=1,b=2;
int*p=&a;
*(p+1)的值为()。
A)1B)2
C)a的首地址D)b的首地址
28、有如下定义:
int*p0,(*p1)[4],(*p2)(),*p3[4]
定义为行指针的是()。
A)p0B)p1
C)p2D)p3
29、下面哪个是正确的引用结构体数组变量成员()
structbook
{
intnum;
charname;
intprice;
};
structbookb[3];
A)book.priceB)b[2].num
C)num.name.priceD)b.name
30、下面代码中哪个是不正确的引用结构体变量成员()
structstudent
{
intnum;
charname;
intscore;
};
structstudentst,*p;
A)p->numB)(*p).score
C)st.nameD)st[num]
二、判断题(本大题共20小题,每小题1分,共20分,请将答案用“T”或“F”填写到下面表格内,用其他方式填写或未填写在表格内,视为0分)
第1-10题
第10-20题
1、()任何字符常量与一个任意大小的整数进行加减都是有意义的。
2、()在C语言中无论什么语句后面都必须加上“;”号。
3、()IF是C语言的保留字,又称关键字。
4、()内部静态变量和自动类变量作用域相同,但是生存期不同。
5、()a、b是同类型变量,执行语句a=b后b中的值将放入a中,b中的值将丢失。
6、()有说明:
inta[3][4]={0},则只有元素a[0][0]可得到初值0。
7、()continuc语句用在循环体中,可使整个循环不结束。
8、()运算符“?
:
”的优先级高于赋值运算符。
9、()C语言不允许混合类型数据间进行运算。
10、()在C程序中对用到的所有数据都必须指定其数据类型。
11、()一个变量在内存中占据一定的存储单元。
12、()一个实型变量的值肯定是精确的。
13、()自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
14、()%运算符要求运算数必须是整数。
15、()有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。
16、()int(*ptr)(),则ptr是一维数组的名字。
17、()指针在任何情况下都可进行>,<,>=,<=,==运算。
18、()switch(c)语句中c可以是int,long,char,float,unsignedint类型。
19、()结构体不可以嵌套定义。
20、()结构体变量可以进行关系运算。
三、填空题(本大题共5小题,每小题4分,共20分,请将答案填写到下面表格内,不得修改原题和原程序,修改者视为0分,未将答案填写在表格内,视为0分)
第1题
第2题
第3题
第4题
第5题
1、A)若已定义a、b、c是double型的数据,则表达式a=2,b=5,c=a*b-2执行后c的值是____①_____。
B)若有定义chara[8];则a数组元素下标的上限是__②__,下限是___③___。
C)C语言的数组名是一个____④___常量,不能对它进行加、减和赋值运算。
2、以下程序将M*N的二维数组x转秩后存入N*M的二维数组y中。
程序如下:
#defineM2
#defineN3
main()
{inti,j,x[M][N]={1,2,3,4,5,6},y[N][M];
for(i=0;i {for(j=0;j printf(“%3d”,x[i][j]); printf(“\n”); } for(i=0;i for(j=0;j<=__①__;j++) y__②__=x__③__; for(i=0;i {for(j=0;j<____;j++) printf(“%3d”,y[i][j]); printf(“\n”); } } 3、输出1-999能被3整除,且至少有一位数字是5的所有整数,程序如下: #include voidmain() {inti,a,b,c; for(i=1;i<=___①___;i++) if(i%3==0) {a=____②____; c=____③____; b=(i-c*100)/10; if(((c! =0)&&(c%5==0))||((b! =0)&&(b%5==0))||((a! =0)&&a(%5==0))) printf(“i=%d”,___④____); } } 4、哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。 程序如下: #include intss_test(intx) {inti; for(i=2;i if(x%i==0)return___①___; return___②____; } voidmain() {inti,j,n,a[50],k=0; printf("Pleaseinputanumber(<=100): "); scanf("%d",&n); for(i=2;i<=n;i++) if(ss_test(i)==1){a[k]=i,____③___;}; for(i=0;i printf("%2d**%2d\n",i,a[i]); for(i=0;i for(j=i+1;j if(a[i]+a[j]==___④____){printf("%2d=%2d+%2d\n",n,a[i],a[j]);} } 5、将一个二维整型数组a,逆序存放在一个一维整型数组b中。 程序如下: #include #definrM5 #defineN10 intfun(inta[M][N],intb[M*N]) {inti,j,k=___①___; for(i=___②___;i>0;i--) for(j=___③___;j>0;j--) {b[k]=a[i][j];___④___;} } 四、读程序写结果(本大题共5小题,每小题3分,共15分,请将答案填写到下面表格内,未填写在表格内,视为0分) 第1题 第2题 第3题 第4题 第5题 1、写出该程序运行结果 #include main() {inta=1,b=2,c=3; c=a+b,b=a+c,a=b+c; printf("a=%da++=%db=%d\n",a,a++,b); }_ ①__________ ②__________ ③__________ 2、写出该程序运行结果 #include main() {intx=1,a=0,b=0,c=1; switch(x){ case0: b++; case1: a++; case2: a++;b++; } c=a+b; printf(“a=%db=%dc=%d\n”,a,b); } ①__________ ②__________ ③_________ 3、写出该程序运行结果 #include"stdio.h" main() { structlist { intnum; charsex; intage; }men[3]={{101,'f',36},{102,'m',33},{103,'f',45}}; structlist*p; p=men; p++; printf("%d,%c,%d\n",p->num,p->sex,++p->age); } ①__________ ②__________ ③__________ 4、写出该程序运行结果 #include intfun(intx,inty,intz) {intt; if(x if(x } voidmain() {inta=1,b=2,c=3; fun(a,b,c); printf(“a=%db=%dc%d\n”); } ①__________ ②_________ ③__________ 5、写出该程序运行结果 #include main() {inta[]={0,1,2,3,4,5,6,7,8,9}; intx,y,z; inti,j,k; intm=0,n=0,p=0; for(i=0;i<10;i++) m++; printf(“m=%d”,m); for(j=0;j<10;j++) n+=a[i-1] printf(“n=%d”,n); for(k=0;k<10;k++) p+=a[k] printf(“p=%d”,p); } ①__________ ②__________ ③__________ 五、程序设计(本大题共3小题,每小题5分,共15分) 1、编写程序,判断输入的一个正整数,是奇数还是偶数,若是奇数输出“1” 若是偶数输出“0”。 2、输入10个2位数,统计大于等于0的个数,和小于0的个数。 3、已知一个学生五门课程的成绩为98,69,78,76,82,求它的平均成绩,并输出。 第1页共2页 2007.年一学期 系专业 《C语言程序设计》试题A卷答案 一、选择题(本大题共30小题,每小题1分,共30分) 第1-10题 A B C C A A C A A D 第10-20题 D D C C A B D C D B 第20-30题 B B A B D B B B B D 二、判断题(本大题共20小题,每小题2分,共20分) 第1-10题 T F F T F F F T F T 第10-20题 T F F T T F T F F F 三、填空题(本大题共5小题,每小45分,共20分) 第1题 8.0 7 0 地址 第2题 N [j][i] [i][j] M 第3题 999 i%10 i%100 第4题 0 1 k++ n 第5题 0 M-1 N-1 k++ 四、读程序写结果(本大题共5小题,每小题3分,共15分) 第1题 a=8 a++=7 b=4 第2题 a=2 b=1 c=3 第3题 102 m 34 第4题 a=1 b=2 c=3 第5题 m=10 n=90 p=45 六、五、程序设计(本大题共3小题,每小题5分,共15分) 1、#include Main() {inta; printf(“Pleaseinputanumber: ”); scanf(“%d”,&a); 第2页共2页 if(a%2==0)printf(“1”); elseprintf(“0”); } 2、#include main() {inti,count1=0,count2=0,a; for(i=0;i<10;i++) {scanf(“%d”,&a); if(a>=0)count1++; elsecount2++; } printf(“count1=%dcount2=%d”,count1,count2); } 3、#include Main() {inti,sum=0,a[]={98,69,78,76,82}; floatave; for(i=0;i<5;i++) sum+=a[i]; ave=sum/5.0; printf(“ave=%5.1f”,ave); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 参考 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)