2019年C语言期末考试题及答案

2019年C语言期末考试题及答案
2019年C语言期末考试题及答案

的一个)。, 求最小值出现的位置(如果最小值1、给定n个数据例如:输入的数组为:求出第一次出现的位置即可)。出现多次, 1 2 3

4 1

5 6

12 18 9k+1i<=n最大值第三行五行 10 11 2的值并输出。计算公式为:2、编写程序求无理数e e=1+1/1!+1/2!+1/3!+......+1/n! 求出的最大数为18,行坐标为2,列坐标为1。。当1/n!<0.000001时e=2.718282

7、求一个n位自然数的各位数字的积。(n 是小于10的

自然数)求一批数中最大值和最小值的积。3、

2、某一正数的值保留位小数,对第三位进行四舍48、计算n门课程的平均值,计算结果作为函数值返回。五入。例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.599998。

x,5、从键盘上输入任意实数求出其所对应的函数值。 z=(x-4)的二次幂(x>4)

9、求一批数中小于平均值的数的个数。 z=x的八次幂(x>-4)

z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)

M×N求出、6整型数组的最大元素及其所在的行坐标10、编写函数判断一个整数m的各位数字之和能否被7整除,及列坐标(如果最大元素不唯一,选择位置在最前面

0。调用该函数找出可以被7整除则返回1,否则返回

100~200之间满足条件的所有数。

15、实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:a=65 b=60

void fun(int tt[M][N],int pp[N]),11、请编一个函数16、将字符串中的小写字母转换为对应的大写字母,

N列的二维数组,求出二维数组每列M tt指向一个行其它字符不变。

所指一维数组中。二维中最大元素,并依次放入pp

数组中的数已在主函数中赋予。

17、求一个四位数的各位数字的立方和。

、编写函数10fun用比较法对主程序中用户输入的具有1218、求一组数中大于平均值的数的个数。

a按由大到小排序,并在主程序中输出个数据的数组例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函排序结果。3数值为。

n个元个元素选求解从程序调用函数、编写13mainfactm的值。,用下式计算并输出、对任意输入的 x y 19m!/(n!.(m-素的组合数的个数。计算公式是:组合数= 5 x<10。n)!) y= 0 x=10,否则应有容错处理。n:m要求不能小于 -5 x>10x!的功能是求fact(x)说明:函数。

、14找出一批正整数中的最大的偶数。以内的素数之和。20、求给定正整数m77m=20例如:当时,函数值为。

26、根据整型参数n,计算如图公式的值。1;21、判断整数x是否是同构数。若是同构数,函数返回

否则返回0。x的值由主函数从键盘读入,要求不大。于10027、键盘上输入一个3行3列矩阵的各个元素的值(为整数)

然后输出主对角线元素的积,并在fun()函数中输出。

整除的最大[10,60]个上的整数中能被522、用函数求N0。的数,存在则返回这个最大值,如果不存在则返回28、编写函数fun(str,i,n),从字符串str中删除第i个

字符开始的连续n个字符(注意:str[0]代表字符串

的第一个字符)。

,……求、编写函数23funsum=d+dd+ddd++dd...d(n个d)

1-9的数字。d 其中为nd和在主函d=3,n=5)3+33+333+3333+33333(例如:此时,数中输入。29、统

计出若干个学生的平均成绩,最高分以及得最高

分的人数。,,9268,87,,5692例如:输入10名学生的成绩分别为,,则输出平均成绩为,6677.9,, 8467,75923,得最高分的人数为人。最高分为92将一个数组中的值按逆序存放,并在fun、编写函数24

main()函数中输出。例如:原来存顺序为1,4,5,6,8。要求改为:8,6,5,4,1。

列)的转置(即行列互换)行、编写程序,实现矩阵(3033

个字符按降序排列。8个字符的字符串,将8、对长度为25CEAedcab,例如:原来的字符串为edcbaECA排序后输出为

a[5][4]中, 求其中的最小值。、用函数实现字符串的复制, strcpy()函数。不允许用31

fun、从键盘为一维整型数组输入10个整数,调用32

函数找出其中最小的数,并在main函数中输出。 39、能计算从1开始到n的自然数的和,n由键盘输入,

函数。请编写fun并在main()函数中输出。

当N为偶第三行i=2i=i+2

~100的累计和33、用do-while语句求1 第四行i*i

41、计算出k以内最大的10个能被13或17整除的自然数之

)〈3000和。(k

1~100中奇数的平方和。结果为16665034、编写函数求

5整除,42、判断一个整数w的各位数字平方之和能否被、计算并输出给定整数的所有因子之积(包括自身)。350。整除则返回1,否则返回可以被5。规定这个整数的值不大于50

求36、1之间的偶数之积到100奇数位上的数,依次43、从低位开始取出长整型变量s

t中。构成一个新数放在

7531。7654321中的数为:时,t中的数为:例如:当s

n、编写函数求表达式的和(37的值由主函数输入)。 1-1/2+1/3-1/4+......+1/m

,s/=10;如果为642,在第二行加的所的整数)并且小于lim小于100100(、求大于44lim数组中,该函数返回所求出素数的aa 有素数并放在个数。20、产生38[30,120]个上的随机整数放入二维数组

50、给定n个数据, 求最小值出现的位置(如果最小值

出现多次,求出第一次出现的位置即可)。

求一批数中最大值和最小值的差45、

51、求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。

-如为积将改*46、求出菲波那契数列的前一项与后一项之比的极限的近似值。

时,函数值为0.618056。例如:当误差为0.000152、编写函数实现两个数据的交换,在主函数中输入任

意三个数据,调用函数对这三个数据从大到小排序。

整除,若能和553、编写函数判断一个整数能否同时被3之,否则为0。调用该函数求出15~300 则返回值为1合并形成一个整数放在ca47、将两个两位数的正整数、b和5整除的数的个数。间能同时被3数的十位和个位数依次放在c数将中。合并的方式是: a

c数的十位数的十位和个位数依次放在的个位和百位上, b次方n、编写函数fun,求任一整数m的54 c=2514。,调用该函数后,,和千位上。例如:当a=45b=12

答案;7整除,的各位数字之和能否被、编写函数判断一个整数48m3判断的整数,调用函数fun55、从键盘输入一个大于,否则返回整除则返回710。调用该函数找出可以被main函数中输出相应的结论其是否素数,然后在之间满足条件的所有数。 100~200

是素数,信息。例如:78不是素数。请编写fun1和自身整除的数函数。素数是仅能被

判断、49m是否为素数

、56用辗转相除法求两个整数的最大公约数

63、求一个大于10的n位整数的后n-1位的数,并作为函

数值返回。

57、求一批数中小于平均值的数的个数

58、编写函数用选择排序法对数组中的数据进行从小到64、求给定正整数m以内的素数之和。

大的排序。例如:当m=20时,函数值为77。

65、求给定正整数n以内的素数之积。(n<28)

fun函数、从键盘为一维整型数组输入5910个整数,调用函数中输出。找出其中最小的数,并在main

66、求一个给定字符串中的字母的个数。、将从键盘上输入的每个单词的第一个字母转换为大写60

'结束输入字母,输入时各单词必须用空格隔开,用'.

的乘积3列)与2行、编写程序68, 求矩阵(3main,的和 +n!1!+2!+3!+ fun61、编写函数求……在函: 例如:

输入下面的矩阵fun值,并输出运算结果。请编写n数中由键盘输入函数。 100 200 300

,则结果为值为例如:若n5153 400 500 600

700 800 900

程序输出:

200 400 600

800 1000 1200 、根据整型形参62my=sin(m)*10,计算如下公式的值:。 1400 1600 1800 m=9例如:若,则应输出:4.121185

1069、编写函数fun用比较法对主程序中用户输入的具有

个数据的数组a按由大到小排序,并在主程序中输出73、编写函数用冒泡排序法对数组中的数据进行从小到排序结果。大的排序。

74、将两个两位数的正整数a、b合并形成一个整数放在c

中。合并的方式是:将a数的十位和个位数依次放在

计算下列分段函数的值:、编写函数fun70 c数的千位和十位上, b数的十位和个位数依次放在

-3且 x^2+x+6 x<0x≠ c数的个位和百位上。

3及且 f(x)= x^2-5x+6 0≤x<10x≠2x≠例如:当a=45,b=12。调用该函数后,c=4251。

其它 x^2-x-1

75、对某一正数的值保留2位小数,并对第三位进行四舍

五入。

271、用函数将第个串连接到第1个串之后,不允许使用 strcat函数。

79、找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。

72、求一组数中大于平均值的数的个数。1,3,6,9,4,23,35,67,12,88时,函例如:给定的一组数为3 数值为。

80、用函数求fibonacci数列前n项的和。

说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。

else if(x > -3)z=log(x+3);n=28时,运行结果:832039例如:当

else z=sin(x)/(cos(x)+4);

return(z);

84题目:用函数求一个N阶方阵右下三角元素的和(包括副

对角线上的元素)。

的值由主函数81、删除所有值为y的元素。数组元素中的值和yint I,j,k=0;

通过键盘输入 for(i=0;i

for(j=N-1-I;j

k=k+a[i][j];

return(k);

85功能:用函数实现字符串的复制, 不允许用strcpy()函数。

int i;

for(i=0;str1[i]!='\0';i++),,82功能:求一分数序列2/13/2,5/38/5,13/8…,21/13str2[i]=str1[i];项之

和。的前nstr2[i]='\0'说明:每一分数的分母是前两项的分母之和,每一分数的86功能:将字符串中的小写

字母转换为对应的大写字母,分子是前两项的分子之和

其它字符不变。。项之和的值为例如:求前2032.660259inti;int i; for(i=0;str[i]!='\0';i++)float

f1=1,f2=1,f3,s=0; if(str[i]>='a'&&str[i]<='z')for(i=1;i<=n;i++) str[i]=str[i]-32{f3=f1+f2;87功能:

编写函数fun其功能是:根据整型形参m,计算如下f1=f2; 公式的值:y=1/2!+1/4!+...+1/m!(m是偶数)f2=f3; int I,j;s=s=f2/f1;}double s=1;return s;for(i=2;i<=m;i+=2)求出其所对应的函数值。,功能:从键盘上输入

任意实数83{for(j=i-1;j<=I;j++)的 z=e次幂(xx>10)s=s*j; z=log(x+3) (x>-3)y=y+1.0/s;

z=sin(x)/((cos(x)+4)} return y ;double z;答案:88功能:能计算从1开始到n的自然数中偶数的平方的和,n

由If(x>10)z=log(x+3)

键盘输入,并在main()函数中输出。(n是偶数)

int sum,I;

sum=0;

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

{ sum=sum+i*I;}

return(sum)

89功能:根据整型形参m,计算如下公式的值:

y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)

例如:若m=9,则应输出:1.168229

double y=0;

int I;

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

{y+=1.0/(i+5);}

Return(y);

90功能:编写函数fun求一个字符串的长度,在main函数中

输入字符串,并输出其长度。

char *p;

int n=0;

p=p1;

while(*p++) n++;

return n;

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.360docs.net/doc/3817799645.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C语言期末双面试卷B (1)

三亚学院 2012/2013 学年春季学期 《C语言与程序设计》期末考试B卷 适用对象:12级信息管理与信息系统专业 答题时间:120 分钟考试形式:闭卷 (共40分,每题2分) 1.一个C语言程序是由( C )组成的。 A主程序 B 子程序 C 函数 D 过程 2.执行下面语句的结果为( C )。 y=10;x=y++; A x=10,y=10 B x=11,y=11 C x=10,y=11 D x=11,y=10 3.下列程序的输出结果是( A )。 #include void main() {int x=2,y=3; printf("x=%d,y=%d",x,y); } A.x=2,y=3 B.x=%2,y=%3 C.x=%%d,y=%%d D.x=%d,y=%d 4.不是C语言中基本数据类型为(C)。 A.整型B.实型 C.集合型D.字符型 5.表示关系12<=x<=y的C语言表达式为:( A ) A.(x>=12)&(x<=y) B.(x>=12)&&(x<=y) C.(12<=x)|(x<=y)D.(12<=x)||(x<=y) 6.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式是( B )。A.a<>0 B.!a C.a=0 D.a 7.配合switch语句使用,作用是控制结束某个case分支的执行的语句是( A )。 A.break B.if C.end D.exit 8.执行语句:for(i=1;i++<4;);后,变量i的值是(B)。 A.3 B.4 C.5 D.不定 9.如下程序段执行后输出(B )。 #include void main() { int num=0; while(num<=2) { num++; printf("%d ",num); } } A.1 2 3 4 B.1 2 3 C.1 2 D.1 10.设x=1,y=2,m=4,n=3,则表达式x>y?x:m

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

C语言期末试卷题及答案

一、选择题(共20分,每小题2分) 1. 在C语言类型说明中,int, char, short等类型数据的长度是( D )。 A. 固定的 B. 由用户自己定义的 C. 任意的 D. 与机器字的长度有关 2. 若已正确说明为int类型,要给abc输入数据,则正确的输入语句是( D )。 A. read(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); 3. C语言中对嵌套if语句的规定是:else总是与( D )配对。 A. 其之前最近的if B. 第一个if C. 缩进位置相同的if D. 其之前最近且不带else的if 4. 以下语句中,( C )是不可能做到提前退出循环语句的。 A. goto B. break C. continue D. return 5. 假设有两个字符数组a、b,则以下正确的输入语句是( B )。 A. gets(a, b) B. scan f(“%s %s”,a,b) C. scanf(“%s%s”, D. gets(“a”); gets(“b”) 6. 以下正确的描述是( B )。在C语言程序中, A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和含糊的调用均可以嵌套 7. 在宏定义#define PI 3.1415926中,用宏名PI代替一个( D )。 A. 单精度数 B. 双精度数 C. 常量 D. 字符串 8. 以下选项中,对指针变量p不正确的操作是( C )。 A. int a[6], *p; p = &a; B. int a[6], *p; p = a; C. int a[6]; int *p = a = 1000; D. int a[6]; int *p1, *p2 = a; *p1 = *p2; 9. 设有以下说明,已知int类型占2个字节,则下列叙述正确的是( D )。 struct st { int a; int b[2]; } a; A. 结构体变量名a和结构体成员a同名,不合法 B. 程序运行时将为结构体st分配6个字节的内存单元 C. 程序运行时不为结构体st分配内存单元 D. 程序运行时将为结构体变量a分配6个字节的内存单元 10. 当文件顺利关闭时,fclose()的返回值是( C )。 A.-1 B. EOF C. 0 D. 1 二、填空题(共20分,每小题2分) 1. C程序中定义的一个变量,代表内存中的一个存储单元。 2. …\72?在内存中占一个字节,”\72”在内存中占二个字节。 3. 结构化程序设计的3种基本结构是顺序结构、选择结构、循环结构。 4. 下列for循环执行 4 次。For (x =0 , y = 0; y != 99 && x < 4; x++) ;

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1) 1. 以下叙述中正确的是()。 A. C语言比其他语言高级 B. C语言可以不用编译就能被计算机识别执行 C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D. C语言出现的最晚,具有其他语言的一切优点 2. 以下叙述中正确的是()。 A.构成C程序的基本单位是函数 B.可在一个函数中定义另一个函数 C. main函数必须放在其他函数之前 D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。 A. C语言程序总是从第一个函数开始执行 B.在C语言程序中,要调用函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 4. 以下有关for循环的正确描述是()。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体 D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 5. 对下面程序段的描述,正确的是()。 x=-1; do {x=x*x;}while(!x); A.是死循环 B. 循环执行一次 C. 循环执行两次 D. 有语法错误 6. 以下有关C语言数组说法正确的是()。 A.数组元素的数据类型可以不一致 B.数组元素的个数可以不确定,允许随机变动 C.可以使用动态内存分配技术,定义元素个数可变的数组 D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数 7.以下数组定义正确的是()。 A. int a(20); B. int a[ ]={1,2,5,7,0}; C. int a[n]; D. int a[2]={1,2,4,6}; 8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。 A. b[0][9] B. b[2,3] C. b(1)(5) D. b[10] [0] 9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。 A.0 B.不定 C. 6 D. 7 10.以下叙述中不正确的是( )。 A.字符数组中可以存放字符串 B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行整体输入、输出 D.不能通过“=”对字符型数组进行整体赋值 11.已知char d[ ]={”543210”};,则数组d的长度是( )。 A.5 B.6 C. 7 D. 8 12.已知char s3[ ]=”China”;,则下列程序段的输出结果是()。 printf(“%d”,sizeof(s3)); A.5 B. 6 C. 7 D.8 13.已知char s1[10],s2[ ]={”China”};则在程序中能将字符串” China”赋给数组s1的是()。 A.s1={“China”}; B.strcpy(s1,s2); C. s1=s2; D. strcpy(s2,s1);

c语言期末试卷

《C语言程序设计A》试卷(B卷) 班级学号姓名 一、选择题:(每题1分,共计20分) 1、C语言规定:在一个源程序中,main函数的位置( C)。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 2、设a为5,执行下列语句后,b的值不为2的是(C)。 A)b=a/2 B)b=6-(--a) C)b=a%2D)b=a>32:1 3、若a=-14,b=3,则条件表达式a

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

哈尔滨工业大学C语言期末试卷(2007秋季笔试B卷)

哈尔滨工业大学C语言期末试卷(2007秋季笔试B卷) 一、单项选择题:(10分,每题2分) 1.在下面的语句中:只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是。 A)if (a) s1; else s2; B)if (!a) s2; else s1; C)if (a!=0) s1; else s2; D)if (a==0) s1; else s2; 2.以下正确的描述是。 A) 对共用体初始化时,只能对第一个成员进行初始化,每一瞬时起作用的成员是最后一次为其赋值的成员 B) 结构体可以比较,但不能将结构体类型作为函数返回值类型 C) 函数定义可以嵌套 D) 关键字typedef用于定义一种新的数据类型 3.下列的定义中,正确使用字符串初始化的是。 A)char str[7] = "FORTRAN"; B)char str[] = {F,O,R,T,R,A,N,0}; C)char *str = "FORTRAN"; D)char str[] = {'F','O','R','T','R','A','N'}; 4.要使下面程序的输出语句在屏幕上显示 1,2,34 则从键盘上输入的正确数据格式为:。

main() { char a,b; int c; scanf("%c%c%d", &a,&b,&c); printf("%c,%c,%d\n",a,b,c); } A)1 2 34 B)1,2,34 C)'1''2'34 D)12 34 5.若有二维数组定义语句:int a[3][4]; 则下面对元素a[i][j]不正确的引用方式是:。 A) *(&a[i][j]) B) *(a+4*i+j) C) *(a[i]+j) D) *(*(a+i)+j) 二、写出下列程序的运行结果。(10分,每题2分) 1. #include main() { int k=4, n=0; for (;n

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

相关文档
最新文档