当前位置:文档之家› 2013 无纸化二级C试卷版 105套上机 后15套

2013 无纸化二级C试卷版 105套上机 后15套

2013 无纸化二级C试卷版 105套上机 后15套
2013 无纸化二级C试卷版 105套上机 后15套

91

【填空】给定程序中,函数fun 的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

例如,有下列矩阵:

1 2 13 4

7 8 10 6

3 5 9 7

程序执行结果为:find :a[2][2]=9

【参考答案】

(1)j

(2)0

(3)i++

【改错】下列给定程序中,函数fun 的功能是:根据整形参m 的值,计算如下公式的值。 例如,若m 中的值为5,则应输出0.536389。

【参考答案】

(1)for(i = 2 ; i<= m ; i++)

(2)y -= 1.0/(i * i);

【编程】m 个人的成绩存放在score 数组中,请编写函数fun ,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below 所指的数组中。

例如,当score 数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below 中的数据应为10、20、30、40。

【参考答案】

int fun(int score[],int m, int below[])

{

inti,j=0;

floatav=0.0;

for(i=0;i

av=av+score[i]/m;/*求平均值*/

for(i=0;i

if(score[i]

数组中*/

below[j++]=score[i];

return j;/*返回低于平均分的人数*/

}

92

【填空】给定程序中,函数fun 的功能是:把形参s 所指字符串中最右边的n 个字符复制到形参t 所指字符数组中,形成一个新串。若s 所指字符串的长度小于n ,则将整个字符串复制到形参t 所指字符数组中。

例如,形参s 所指的字符串为:abcdefgh ,n 的值为5,程序执行后t 所指字符数组中的字符串应为:defgh 。

【参考答案】

(1)t ,s

(2)s[i]

(3)0或'\0'

【改错】下列给定程序中,函数fun 的功能是:找出一个大于给定整数m 且紧随m 的素数,1

1

1

12233t m m =----???

并作为函数值返回。

【参考答案】

(1)if(i%k==0)

(2)if(k==i)

【编程】请编写函数void fun (int x, intpp[], int *n),它的功能是:求出能整除x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。 例如,若x 中的值为30,则有4个数符合要求,它们是1、3、5、15。

【参考答案】

void fun (int x, intpp[], int *n)

{

inti,j=0;

for(i=1;i<=x;i=i+2) /*i 的初始值为1,步长为2,确保i 为奇数*/

if(x%i==0)/*将能整除x 的数存入数组pp 中*/

pp[j++]=i;

*n=j;/*传回满足条件的数的个数*/

}

93

【填空】给定程序中,函数fun 的功能是:判断形参s 所指字符串是否是"回文"(Palindrome),若是,函数返回值为1;不是,函数返回值为0。"回文"是正读和反读都一样的字符串(不区分大小写字母)。

例如,LEVEL 和Level 是"回文",而LEVLEV 不是"回文"。

【参考答案】

(1)s

(2--

(3)return 0

【改错】下列给定程序中,函数fun 的功能是:求出如下分数列的前n 项之和。

和值通过函数值返回main 函数。例如,若n =5,则应输出8.391667。

【参考答案】

(1)double fun(int n)

(2)s=s+(double)a/b;

【编程】请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是:将大于整数m 且紧靠m 的k 个素数存入所指的数组中。

例如,若输入17,5,则应输出19、23、29、31、37。

【参考答案】

void fun(intm,intk,int xx[])

{

inti,j,n;

for(i=m+1,n=0;n

的k 个素数*/

{for(j=2;j

if(i%j==0) break;

if(j>=i)

xx[n++]=i; }

23581321,,,,,,1235813

}

/*判断一个数是否为素数,如果不是,跳出此循环,判断下一个数*/

/*如果是素数,放入数组xx中*/

94

【填空】给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。

例如,形参s所指的字符串为:This is a C language program.,函数的返回值为6。

【参考答案】

(1)n++

(2)0

(3)s++

【改错】下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参aver所指的存储单元中。

例如,输入8名学生的成绩:80.5、60、72、90.5、98、51.5、88、64

则低于平均分的学生人数为4(平均分为75.5625)。

【参考答案】

(1)t+=s[k];

(2)*aver=ave;

【编程】请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。

例如,输入如下整数:

876 675 896 101 301 401 980 431 451 777

则输出结果为6,980。

【参考答案】

int fun(int *s,intt,int *k)

{

inti;

*k=0;/*k所指的数是数组的下标值*/

for(i=0;i

if(s[*k]

标赋给k所指的数*/

return s[*k];/*返回数组的最大元素*/

}

95

【填空】给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。

【参考答案】

(1)*s

(2)s++

(3)n

【改错】下列给定程序中,函数fun的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8时,输入193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763、所得平均值为195.838745,在平均值以上的实数个数应为5。

【参考答案】

(1) {int j, c=0;floatxa=0.0;

(2)if (x[j] >= xa)

【编程】编写函数fun ,其功能是:根据以下公式求P 的值,结果由函数值带回。m 与n 为两个正整数且要求m>n 。

例如:m =12,n =8时,运行结果为495.000000。

【参考答案】

longjc(int m)

{

long s=1;

inti ;

for(i=1;i<=m;i++) s=s*i ;

return s;

}

float fun(int m, int n)

{

float p;

p=1.0*jc(m)/jc(n)/jc(m-n) ;

return p;

}

96

【填空】给定程序中,函数fun 的功能是:将形参s 所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

例如,形参s 所指的字符串为abs5def126jkm8,程序执行后的输出结果为22。

【参考答案】

(1)48

(2)s++

(3)sum

【改错】下列给定的程序中,函数fun 的功能是:计算并输出k 以内最大的10个能被13或17整除的自然数之和。k 的值由主函数传入,若k 的值为500,则函数的值为4622。

【参考答案】

(1)if((k%13==0)||(k%17==0))

(2)}

【编程】编写函数fun ,它的功能是:求小于形参n 同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。

例如,若n 为1000时,程序输出应为:s =153.909064。

【参考答案】

double fun( int

{

double sum=0.0;

inti;

for(i=21; i<=n; i++)

if((i % 3==0) && (i % 7==0)) sum+=i;

returnsqrt(sum);

}

n)

97

【填空】给定程序中,函数fun 的功能是:找出形参s 所指字符串中出现频率最高的字母(不!!()!m p n m n =-

区分大小写),并统计出其出现的次数。

例如,形参s所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:

letter'a':3times

letter's':3times

【参考答案】

(1)*s

(2)1

(3)k[n]

【改错】下列给定程序中,函数fun的功能是:求S的值。

S=(22/(1×3))×(42/(3×5))×(62/(5×7))×…×(2k)2/((2k-1)×(2k+1))

例如,当k为10时,函数的值应为1.533852。

【参考答案】

(1)double fun(int k)

(2)return s ;

【编程】请编写函数fun,其功能是:计算并输出下列多项式的值。

S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))

例如,当n=10时,函数值为0.909091。

【参考答案】

double fun(int n)

{

inti;

double s=0.0;

for(i=1;i<=n;i++)

s=s+1.0/(i*(i+1));

return s;

}

/*求级数的和*/

98

【填空】给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

【参考答案】

(1)i

(2)ps[j]

(3)tp

【改错】已知一个数列从0项开始的前3项:0、0、1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun的功能是:计算并输出该数列前n项的平方根之和sum。n的值通过形参传入。

例如,当n=10时,程序的输出结果应为23.197745。

【参考答案】

(1)double fun(int n)

(2)return sum ;

【编程】请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

S=1+x+x2/2!+x3/3!+…+x n/n!

例如,当n=10,x=0.3时,函数值为1.349859。

【参考答案】

double fun(double x, int n)

{

inti;

double s=1.0,s1=1.0;

for(i=1;i<=n;i++)

{s1=s1*i;/*各项中的阶乘*/

s=s+pow(x,i)/s1; /*按公式求出*/

}

return s;

}

99

【填空】给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。

【参考答案】

(1)double

(2)f1

(3)f2

【改错】下列给定程序中,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。

【参考答案】

(1)char *fun( char *s,char *t)

(2)ss++;

(3)tt++;

【编程】请编写函数fun,其功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

例如,字符串中原有的内容为"ABCDEFGHIJK",m的值为3,移动后,字符串中的内容应该是"DEFGHIJKABC"。

【参考答案】

void fun (char *w,int m)

{

inti,j;

char t;

for(i=1;i<=m;i++)

{t=w[0];

for(j=1;w[j]!='\0';j++)

w[j-1]=w[j];

w[j-1]=t;

}

}

/*进行m次的循环左移*/

/*从第2个字符开始以后的每个字符都依次前移一个字符*/

/*将第1个字符放到最后一个字符中*/

100

【填空】程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

【参考答案】

(1)"r"

(2)>

(3)fwrite

【改错】下列给定程序中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。

字符串的长度最长允许为79。

【参考答案】

(1)p=s;

(2)while(*p++);

【编程】请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。

【参考答案】

void fun(int *a, int *b)

{

inti,j;

for(j=0;j

b[j]=0;/*数组b初始化为0*/

for(i=0;i

if(a[i]>=100)

b[10]++;/*如果年龄大于等于100,b[10]自增1*/

else

b[a[i]/10]++;/*如果年龄小于100,则将其分别统计到b[a

[i]/10]中*/

}

doublernd()

{

static t=29,c=217,m=1024,r=0;

r=(r*t+c)%m;

return((double)r/m);

}

101

【填空】给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45

按升序排列时的中间数为:8

处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45

【参考答案】

(1)b[k]

(2)4或N/2

(3)<

【改错】给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。

【参考答案】

(1)int t[N] ,i, num=0;

(2)t[num++]=b[i];或{t[num]=b[i]; num++;}

(3)for(i=0; i

【编程】请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。

例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,

函数fun返回值为:11

【参考答案】

int fun(char *s)

{ int n=0;

char *p;

for(p=s;*p!='\0';p++)

if((*p>='0')&&(*p<='9'))

n++;

return n;

}

102

【填空】函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

【参考答案】

(1)i%5

(2)\n

(3)a[i]

【改错】给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下:

初始数列为:6 5 7 23 18 5 8 21 45 38

第1组数为:6 5 7 中值为:6 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第2组数为:5 7 23 中值为:7 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第3组数为:7 23 18 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

第4组数为:23 18 5 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

第5组数为:18 5 8 中值为:8 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第6组数为:5 8 21 中值为:8 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第7组数为:8 21 45 中值为:21 替换后的数列为:6 6 7 18 18 8 8 21 45 38

第8组数为:21 45 38 中值为:38 替换后的数列为:6 6 7 18 18 8 8 21 38 38

最终结果为:6 6 7 18 18 8 8 21 38 38

【参考答案】

(1)return t;

(2)for(i=0;i

(3)x[i+1]=findmid(a,b,c);

【编程】请编写函数fun,函数的功能是查找x在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-1。

【参考答案】

int fun( int *s, int x)

{ inti;

for(i=0;i

if(x==s[i]) return i;

return -1;

}

103

【填空】给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

【参考答案】

(1)pb

(2)p->data

(3)p->next

【改错】给定程序MODI1.C中,函数fun()的功能是统计s所指一维数组中0的个数(存在变量zero中)和1的个数(存在变量one中),并输出结果。

【参考答案】

(1)inti, one=0, zero=0;

(2)switch( s[i] )

(3)case 0: zero++; break;

【编程】请编写函数fun,其功能是将形参s所指字符串放入形参a所指的字符数组中,使a 中存放同样的字符串。说明:不得使用系统提供的字符串函数。

【参考答案】

void fun( char *a , char *s)

{ while(*s!='\0')

{*a=*s;

a++;

s++;

}

*a='\0';

}

104

【填空】围绕山顶一圈有N个山洞,编号为0、1、2、3、……、N-1,有一只狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,它的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的个洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞;即到编号为9的洞中找;……。若狐狸找一圈,请为兔子指出所有不安全的洞号。程序中用a数组元素模拟一个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。若形参n的值为30时,不安全的洞号是0、2、5、9、14、20、27。

【参考答案】

(1)0

(2)t

(3)i+t

【改错】给定程序MODI1.C中规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母

输出(如果有多个相同,输出一个即可)。

例如对于字符串:dadbcdbabdb ,对应的输出应为:b 或d 。

【参考答案】

(1)b[i] = 0;

(2)b[a[i] - 'a']++;

(3)if (b[max] < b[i])

【编程】请编函数fun ,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen 函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。

【参考答案】

long fun( char

{

inti,sum=0,len;

len=strlen(s);

for(i=0;i

{

sum=sum*10+*s-48;

s++;

}

return sum;

}

105

【填空】给定程序中,函数fun 的作用是:统计整型变量m 中各数字出现的次数,并存放到数组a 中,其中:a[0]存放0出现的次数,a[1]存放1出现的次数,…… a[9]存放9出现的次数。 例如,若m 为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1,

【参考答案】

(1)a[i]

(2)m%10

(3)m/10

【改错】给定程序MODI1.C 中,函数fun 的功能是求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b 中。

假如:若a=则结果应为 1,5,9,13,

【参考答案】

(1)b[i] = a[i][0];

(3)if ( b[i] > a[i][j] )

【编程】请编写函数fun ,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a 指向存放得分的数组,形参n 中存放得分个数(n>2)。

例如,若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分,则输出结果为:

8.687500。

【参考答案】

double fun(double a[ ] , int

{

n)

151416139

1210117568

2

341

double sum=0,max,min;int i; max=min=a[0];

for(i=0;i

{

sum=sum+a[i];

if(max

if(min>a[i])min=a[i];

}

sum=sum-max-min;

return(sum/(n-2));

}

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

精选C语言试卷(带答案).

2006-2007学年第二学期考试试卷A卷 考试科目C语言程序设计考试方式闭卷完成时限2小时 拟题人审核人批准人2007年7 月 5 日机械、电气、信息、生化、轻工、经管、理学院2006年级各理工科专业 说明: 1.应将全部答案写在答卷纸对应的题号处;否则作无效处理; 2.编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸; 3.考试完成后,必须将试卷与答卷同时交回。 一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)1.在循环体内使用break语句和continue语句的作用相同。 2.函数返回值的类型最终取决于函数定义时形参的类型。 3.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。 4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。 5.1/2的结果是0,所以1.0/2的结果也是0。 6.a=b=c=5可以理解为a=(b=(c=5))。 7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。 8.for(;;)等价于while(1)语句。 9.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。 10.char *sp ={"welcome"};可以写成char *sp="welcome"; 。 二、单选题(16小题,每题1分,共16分) 1.以下数组定义中错误的是: (A) int x[][3] ={0}; (B) int x[2][3]={{1,2},{3,4},{5,6}};

(C) int x[][3]={{1,2,3},{4,5,6}}; (D) int x[2][3]={1,2,3,4,5,6}; 2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为: (A)EOF (B)NULL (C) 0 (D)非0值 3.有以下程序: main() {int y=10; while(y--) ; printf(“y=%d\n”,y); } 程序执行后的输出结果是: (A) y=0; (B)y=-1; (C) y=1 (D)while构成无限循环 4. 若有以下宏定义: #define N 2 #define Y(n) (N+1)*n 则执行语句int z; z=2*N+Y(5);后的值是 (A) 50 (B)34 (C)19 (D)无定值 5.以下叙述中错误的是: (A)c程序必须由一个或者一个以上的函数组成。 (B)函数调用可以作为一个独立的语句存在。 (C)若函数有返回值,必须通过return 语句返回。 (D)函数形参的值也可以传回给对应的实参。 6.设有如下定义的变量 union data { int i; char ch; float f; }b; 则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节): (A) 4 (B)5 (C) 6 (D)7 7.以下叙述中错误的是:

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言程序设计试卷含答案

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。 二、阅读程序题文字答题卡:(每空2分,共24分) 三、完善程序填空题文字答题卡:(每空2分,共26分) 一、单项选择题(每空1分,共50分) 请将正确答案按【】中的序号写入答题卡,否则不得分。 1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。 A)age,struct,s1 B)2A,b_3,main C)ELSE,a[2],m123 D)_abc,INT,abcd 3.判断char型变量ch是否为数字字符的正确表达式为【】。 A)0<=ch<=9 B)'0'<=ch<='9' C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9') 4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。 A)putchar('A'+1);B)putchar('b'-32); C)putchar(98-32);D)putchar(B); 5.空字符串的长度是【】。 A)0B)1 C)2 D)3 6.整型变量a定义后赋初值的结果是【】。 int a=2.8*6; A)12 B)16C)17 D)18 7.若有以下说明语句,则该语句【】。 char a='\077'; A)使a的值包含1个字符B)使a 的值包含4个字符 C)使a的值包含3个字符D)说明不合法 8.下面的程序结果为:【】。 main() { int x=023; printf("%d\n",--x); } A)17 B)18C)23 D)24 9.源程序执行后,屏幕上显示【】。 main() { int a; float b; a=4; b=9.5; printf("a=%d,b=%4.2f\n",a,b); } A)a=%d,b=%f\n B)a=%d,b=%f C)a=4,b=9.50 D)a=4,b=9.5 10.设int x=10;x+=x%=(-6)+4;则x= 【】。 A)0B)16 C)18 D)10 11.C语言的下列运算符中,运算对象必须是整型数据的是【】。

湖南大学C语言程序设计试卷

第 1 页(共 6 页)

三、写出程序运行结果(每题 5 分,共20分) 1.main() { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf(“%d\n”,m); } 程序运行后的输出结果是: 2.float fun(int x, int y) {return (x+y);} main() { int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c));} 程序运行后的输出结果是: 3.void fun(char *c,int d) { *c=*c+1;d=d+1; printf("%c,%c,",*c,d); } main() { char a='A',b='a'; fun(&b,a); printf("%c,%c\n",a,b); } 程序运行后的输出结果是: 4.struct stu { char num[10]; float score[3]; }; main() { struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是: 第 2 页(共 6 页)

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

2013年春C语言试题

湖北科技学院2013学年春季学期2012级 《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷) 一.选择题:(每小题1分,共40分) 1.C语言规定,必须用( )作为主函数名。 A) Function B) include C) main D) stdio 2.下列说法正确的是( )。 A) 在执行C程序时不是从main 函数开始的 B) C程序书写格式严格限制,一行内必须写一个语句 C) C程序书写格式自由,一个语句可以分写在多行上 D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号 3.下列字符串是用户标识符的是( )。 A) _HJ B) 9_student C) long D) float 4.下列数据中是合法的整型常量的是( )。 A) 3E2 B) 029 C) -32768 D) 6e+007 5.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( )。 A) 9,6 B) 12,5 C) 18,6 D) 15,5 6.10+?a?+1.5-567.345/?b?的结果是( )型数据。 A) long B) double C) int D) unsigned float 7.在C 语言中,下列类型属于构造类型的是( )。 A) 整型B) 指针类型C) 实型D) 结构体类型 8.在C语言中,退格符是( )。 A) \n B) \t C) \v D) \b 9.下列符号中,可以作为变量名的是( )。 A) +c B) *X C) _DAY D) next-day 10.以下程序的输出结果是( )。 void main() { unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf("%d\n",d); } A) 3 B) 4 C) 5 D) 6 11.若已知a=5,b=10,则表达式a==b的值为( )。 A) 10 B) 20 C) 1 D) 0 12.已有定义” int a=-2; ”和输出语句” printf( “%8x”, a );“,以下正确的叙述是( )。 A) 整型变量的输出形式只有%d一种 B) %x是格式控制符的一种,它可以适用于任何一种类型的数据 C) %x是格式控制符的一种,其变量的值按十六进制输出,但%8x是错误的 D) %8x不是错误的格式控制符,其中数字8规定了输出数据的宽度 13. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个( )。 A) 函数B) 文件C) 变量D) 子程序 14.语句 int x=10, y=20, z=30; if (x>y) z=x; x=y; y=z; 执行后x、y、z的值是( )。 A) x=10,y=20,z=30 B) x=20,y=30,z=30

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

C语言程序设计试卷及答案

C 语言程序设计 笔试试题 题号 一 二 三 四 五 六 笔试(70%) 综 合 (30%) 总分 分数 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案 1. 有以下程序 main() {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\n ”,b); }则程序输出( A )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 A) 定义了基类型为int 的三个指针变量 B) 定义了一个名为 *pt 、具有三个元素的整型数值 号 学 名 姓 注意行为规范 遵守考试纪律

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具 有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\n“,week); A) 4 B) 5 C) ee D) 0 10. 以下对C语言函数的描述中,不正确的是( B )。 A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义 C) 函数可以没有返回值D) 程序由函数组成 11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。 A) *p B) *x C) *(p+1) D) x[5]

c语言试卷及其答案

读书破万卷下笔如有神

1

…………试卷装 订线 ……………… 装订线内不要答题,不要填写考生信息……………… 试卷装 订线printf(?%d, %c \n?, c2-c1, c2-(?a?-?A?)); … 院 3 e.D 2, E .C 3, E .B 2, M .A…学……下笔如有神读书破万卷

读书破万卷下笔如有神在函数调用中,若形参和实参都是简单变量,下面说法正确的是__16.实参和形参共用一个内存单

.实参和形参各占用一个独立的内存单 .由用户确定是否共用内存单 .由系统确定是否共用内存单 判断字符str是否大于字符str,应当使用__17if(str1>str2if(strcmp(str1,str2)) if(strcmp(str2,str1)>0)if(strcmp(str1,str2)>0) 以下正确的函数说明是__18float fun(int a; int bdouble fun( int fun(int a, bint fun(char a[][] 以下程序的运行结果是_19main(){ int a=1, i; for (i=0; i<3; i++) printf(%d, f1(a)); getch(); } f1(int x){ static int y=0,z=3; y++; z++; return(x+y+z); } 468 681 6766以下程序的运行结果是_20main(){ int x=6,y=5; if(x>y) x=y,y=x; else x++,y++; printf(%d,%d,x,y); getch(); } 7,6,5,5,A. 下笔如有神读书破万卷

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

2013年下C语言程序设计考试试卷

学院:班级:学号:姓名: 答案一律写在答题纸上,写在试题卷上无效 一、选择题(每小题3分,计36分) 1.以下选项中,不属于C语言结构化程序设计三种基本结构的是_______。 A)选择结构B)顺序结构 C)递归结构D)循环结构 2.已知:char a='\70';,则变量a________。 A)包含1个字符B)包含2个字符 C)包含3个字符D)说明非法 3.已知:float x=2,y;,则表达式y=x+3/2的值是________。 A)3.5 B)3.0 C)2.0 D)1.0 4.C语言中,运算对象必须是整型数值的运算符是________。 A)% B)/ C)< D) ! 5.以下选项中,能正确表示逻辑关系:“a≥10 或a≤0”的C语言表达式是______。 A﹚a>=0||a<=10 B﹚a≥10||a≤0 C﹚a>=10 && a<=0 D﹚a>=10||a<=0 6.已知:int a=5;,执行语句a=3*5,a*4,a+5;后,变量a的值是_________。 A)45 B)20 C)15 D)10 7.当说明一个结构体变量时系统分配给它的内存是( ) A)各成员所需内存量的总和B)结构中第一个成员所需内存量 C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量 8.已知:float x;int y;,用语句scanf("%f,%d",&x,&y);输入变量x,y的值,正确的输入是_________。 A)1.25,2 B)1.25 2 C)1.25:2 D)1.25;2 9.已知:int x=0,y=10;while(x

c语言试卷及答案1

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

2013-C语言期末考试试卷-A

北京师范大学2012~2013学年第2 学期期末考试试卷(A卷) 课程名称:程序设计语言(C语言)任课教师姓名:于福生刘玉铭卷面总分:100 分考试时长:100 分钟考试类别:闭卷院(系):专业:年级: 姓名:学号: 阅卷教师(签字): 一、单项选择题(20×2=40分) 1.以下符合C语言语法的实型常量是【】 A) 1.2E0.5 B) 3.14159E C) .5E-3 D) E15 2.若变量已正确定义,要将a 和b中的数进行交换,不正确的语句组是【】 A)a=a+b,b=a-b,a=a-b; B)t=a;a=b;b=t; C)a=t; t=b; b=a; D)t=b;b=a;a=t; 3.若有以下定义: int a[] = { 1,2,3,4,5,6,7 }; char c1 = …b?, c2 = …2?; 则值不为2的表达式是【】 A)a[1] B)?d?-c1

C)a[…3?-c2] D)c2-0 4.与表达式i+1+1值相等的是【】 A) (i++)+1 B) ++i+1 C) (i++)++ D) i+1++ 5.已知char str1, str2[10]; 正确的输入语句是【】 A) scanf (“%c%s”, &str1,str2) ; B) scanf ("%s%s", &str1,str2) ; C) scanf (“%c%c”, &str1,str2) ; D) scanf ("%s%c", &str1,str2) ; 6.若希望当A的值为奇数时,表达式的值为"真";A的值为偶数时,表达式的值为"假 "。不能满足要求的表达式是【】 A) A%2==1 B) !(A%2= = 0) C) !(A%2)D) A%2 7.以下main函数说明形式正确的是【D 】 A) int main (int a, char *s) B) void main (int a, char s[ ][ ]) C) void main (int a, char s) D) int main (int a, char *s[ ]) 8.要定义只可在所在源文件中使用的全局变量,则该变量的类别是【】 A) auto B) extern C) static D) register 9.若有定义int a[5], *p=a,则对a数组元素的正确引用是:【】 A) *&a[5] B) a+2 C) *(p+5) D) *(a+2) 10.设int x=1,y=3;执行后x的值不等于6的赋值语句是【】 A) x=(x=1+2,x*2); B) x=y>2?6:5; C) x=9-(--y) -(--y); D) x=y*4.6/2; 11.设有定义int a[10],则p+5表示【】 A)a[5]的地址B)a[6]的地址 C)a[5]的值D)a[6]的值 12.用fopen打开一个新的可以读写的二进制文件,则文件的方式字符串为【】 A) “ab+”B) “wb+” C) “rb+”D) “ab” 13.设int b, a; float c;c = (float) a+b; 则(float)的作用是使【】 A) 变量a的类型发生改变 B) 变量a,b的类型发生改变

C语言模拟试卷及答案详解

2012―2013 学年第一学期 《C 语言程序设计》模拟试卷(B) 一、单项选择题(每题1分,共30分) 1.C 语言程序总是从______开始执行。 A) 第一条语句 B) 第一个函数 C) 主函数 D) 子程序 2.以下选项中正确的C 语言标识符是______。 A) a+b B) 3Dmax C) _25 D) %d 3.以下选项中正确表示字符型常量的是______。 A) '\t' B) "a" C) 'abc' D) '279' 4.以下选项中属于C 语言基本数据类型的是______。 A) 逻辑型 B) 双精度型 C) 复数型 D) 集合型 5.已知:int a=8,b=5,c;,则执行语句c=a%b+0.3;后,c 的值是______。 A) 1 B) 1.3 C) 3 D) 3.3 6.设在程序中的a ,b ,c 均被定义为整型并且已赋予大于1的值,能正确表示代数式abc 1的表达式 是______。 A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 7.已知字符'A'的ASCII 码值为十进制数65,则执行语句printf("%c",'A'+2);后,输出结果是______。 A) A B) C C) 65 D) 67 8.已知:int i=1;,则执行语句printf("%d",i++);后,输出结果是______。 A) 1 B) 2 C) -1 D) -2 9.以下选项中,和语句x*=y+2;等价的是______。 A) x=x*y+2; B) y=x*(y+2); C) x=y+2*x; D) x=x*(y+2); 10.以下选项中能正确判断字符变量c 不是大写字母的表达式是______。 A) c<'A' && c>'Z' B) !(c<'A' && c>'Z') C) c>='A' || c<='Z' D) !(c>='A' && c<='Z') 11.已知:float a=7.0,b=2.5;,则表达式(int)a/(int)b 的值是______。 A) 2 B) 2.8 C) 3 D) 3.5 12.已知:int a,b,c;,若要给变量a 、b 、c 输入数据,以下正确的输入语句是______。 A) scanf ("%d,%d,%d",a,b,c); B) scanf ("%d,%d,%d",&a;&b;&c); C) scanf ("%d,%d,%d",&a&b&c); D) scanf ("%d,%d,%d",&a,&b,&c); 13.已知:int a=1,b=2;,则执行语句printf("%d",a>b?a:b);后,输出结果是______。 A) 0 B) 1 C) 2 D) 以上都不正确 14.以下选项中叙述正确的是______。 A) 在switch 语句中,不一定使用break 语句 B) break 语句必须与switch 语句中的case 配合使用 C) 在switch 语句中必须使用default D) break 语句只能用于switch 语句中 15.执行以下程序后,输出结果是______。 #include void main()

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分) 1、sizeof(float)是() A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为()。 A. 100 765.12 B. i=100,f=765.12 C. 100<回车> 765.12 D. x=100 y=765.12 3、#include void main() { int a=3,b=2,c=1; int x=10,y=20; if(a void main() { int num=0; while(num<=2){ num++; printf("%d ",num); } } 输出结果是()。 A. 1 2 3 B. 0 1 2 C. 2 3 D. 1 2 8、下面的C语言代码段的输出结果是()。 int j; for(j=1; j<10; j+=2) printf("%d ",j); A. 1 2 3 4 5 6 7 8 9 B. 2 4 6 8 C. 1 3 5 7 9 D. 1 2 4 6 8 9、在C语言中,表达式:10!=9 的值是()。 A. true B. 非零值 C. 0 D. 1 10、分析下面的C代码段:

相关主题
文本预览
相关文档 最新文档