四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试
C 语言程序设计试卷  试卷A
答卷说明: 1、
本试卷共6页,答题纸3页,4个大题,35个小题,满分100
分,120分钟完卷。 2、
闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上
答案为准。    3、 本试卷适用于2011级1、2、3班。
一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的
序号填在题干的括号内。每小题1分,共20分)
1、 在C 语言中,下列标识符中合法的是(    )
A).  -int    B).  in1_3      C).  A_B!D    D).  const大一期末c语言必考知识点
2、 不属于C 语言基本数据类型的是(    )
A). int  B). union    C). char    D). unsigned
3、 下面是对宏定义的描述。不正确的是(    )
A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间
C). 宏替换只是字符串的简单替代
D). 宏替换时先检查类型,类型一致时才可以替换
__________________学院__________级___________班    姓名_______________  学号_______________
………………………………(密)………………………………(封)………………………………(线)………………………………
密      封      线      内      答    题    无    效
4、C语言中,″\\xfds″在内存中占用的字节数是(    )
A).3                B).4  C).5              D).6
5、设int  x;则执行printf(″%x\n″,~x^x);的结果是(    )
A). ffffffff        B). ff  C). 0            D). 1
6、对于while语句,错误的说法是(    )
A).用条件控制循环体的执行次数B).循环体至少要执行一次
C).循环体有可能一次也不执行D).循环体中可以包含若干条语句
7、执行下列语句后输出的结果是(    )
int a=8,b=7,c=6;
if(a<b)if(b>c){a=c;c=b;}
printf("%d,%d,%d\n",a,b,c);
A).6,7,7              B).6,7,8  C).8,7,6              D).8,7,8
8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是(    )
A).9,19              B).9,20  C).10,19              D).10,20
9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么(    )
A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度
C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同
10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是(    )
for(i=0;i<3;i++)
printf(″%d″,x[i][2-i]);
A).147              B).159  C).357              D).369
11、执行完下列语句后,n的值是(    )
int n;
for (n=0 ; n<100 ; n=2*n+1);
A).125          B).126 C).127                      D).128
12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果(    )
A).–132 B).–60 C). -24 D). 0
13、为了连接两个字符串s1与s2,应当使用(    )
A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )
14、设int a,*p;则语句p=&a;中的运算符“&”的含义是(    )
A).位与运算              B).逻辑与运算C).取指针内容 D).取变量地址
15、下面输出的结果为(    )
i nt a=13, b=64;
printf(“%d \n”, !a || (b>>3) ); A).13                      B).64            C).1                    D).0
16、 下列定义正确的是(    )
A).enum t={a,b}x;              B). enum t{1,2}x; C). e num {′+′,′-′}x;        D). enum t{a,b}x;
17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;
则printf(″%d \n″,sizeof(aa));的输出是(    ) A).32                  B).36  C).12                  D).8
18、 数据-54.78在文本文件中占用的字节个数是(    )
A).4                B).5    C).6                D).8
19、 在宏定义#define p(r) 3.14*r 中,请问宏名是(  )
A).  p  B).  p(r)  C).  3.14*r  D).  p(r) 3.14*r  20、 要打开一个已存在的用于修改的非空二进制文件“ ”,正确语句是(  )
A). fp=fopen( " ","r" )          B). fp=fopen( " ","ab+" ) C). fp=fopen( " ","w" )                  D). fp=fopen( " ","r+" )
二、填空题(仔细阅读每小题的说明和源代码,并将正确答案写到答题纸上对应的题号处。每小题4分,共36分)
1. 以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.
21:
22:
__________________学院__________级___________班    姓名_______________  学号_______________
………………………………(密)………………………………(封)………………………………(线)………………………………
密      封      线      内      答    题    无    效
2. 下面程序的功能是比较字符数组a 和字符数组b 中的两个字符串是否相等(比较对应字符,全部相同输出0,如果不同,返回第一个不相同的字符差值,并输出)。
23:
24:
3. 就以下程序空缺的地方进行填空。
4.
以下程序
对一个
3×3的矩
阵进行行
列互换。
25:
26:                                          27:
28:
29:
三、阅读下列程序,将输出结果写到答题纸上对应的题号处。(本大题共4小题,每小题5分,共20分)
__________________学院__________级___________班    姓名_______________  学号_______________
………………………………(密)………………………………(封)………………………………(线)………………………………
密      封      线      内      答    题    无    效

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。