南昌大学C语言期末考试0506试卷

合集下载

大学C语言期末考试试题(含答案)

大学C语言期末考试试题(含答案)

第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。

但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。

如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。

*1.2以下叙述正确的是 C 。

A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。

因此,如果注释中存在错误,系统是不可能发现的。

另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。

1.3以下叙述不正确的是 D 。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。

C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。

1.4 C语言规定:在一个源程序中,main函数的位置 C 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。

A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。

(完整版)C语言期末考试题(含答案)

(完整版)C语言期末考试题(含答案)

(完整版)C语⾔期末考试题(含答案)《C 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。

B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令。

C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。

D )C 语⾔中的函数不可以单独进⾏编译。

2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执⾏后的输出结果是()A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#includevoid main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执⾏后的输出结果是()A )⾃然数1~9的累加和B )⾃然数1~10的累加和C)⾃然数1~9中奇数之和D)⾃然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调⽤语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。

南昌大学2013-2014c语言考试试卷

南昌大学2013-2014c语言考试试卷

—南昌大学考试试卷—【适用时间:2013 ~2014 学年第二学期试卷类型:[ A ]卷】南昌大学 2013~2014学年第二学期期末考试《C程序设计(A卷)》参考答案及评分标准一、单项选择题(每小题2分,共40分)二、填空题(每空2分,共20分)【1】、循环结构【2】、声明(定义) 【3】、地址(指针) 【4】、函数头【5】、地址【6】、5_【7】、s=0 【8】、t*10【9】、strlen(str)/2 【10】、str[j-1]或*(str+j-1)三、程序阅读题(每小题4分,共 20 分)1、a=5,b=0,c=32、i1=4,i2=3,i=143、s0=18,s1=20,s2=484、 *************************5、x=13, y=21x=5, y=21, z=3四.程序设计题(每小题 10 分,共20 分)1编写一个函数,实现显示输出数组a[n]中大于等于平均值的所有元素值。

函数原型为void f2(double a[], int n),其中n为数组元素个数。

void f2(double a[ ], int n){int i;double sum=0;for(i=0;i<n;i++) sum+=a[i];sum/=n;for(i=0;i<n;i++)if(a[i]>=sum) printf(“%10.2lf ”,a[i])’;}2求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量。

#include<stdio.h>void main(){int i=0; //用i作为依次取值偶数的变量int s=0; //用s作为累加变量do {i+=2;s+=i*i;}while(s<1000);printf("n=%d",i-2);}。

南昌大学C期末考试试卷(标准答案全)

南昌大学C期末考试试卷(标准答案全)

南昌大学2003 ~2004 学年第二学期期末考试试卷A卷一单项选择题1.‘A’的ASCII码为65,n为int型,执行n =‘A’+‘6’-‘3’;后,n的值为 B 。

A)‘D’ B) 68 C) 不确定的值D) 编译出错2.下列变量名中, A 是合法的。

A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是 C 。

A)0 B) 5 C)6 D)24.若有定义int a=3, *p=&a ;则*p的值是 B 。

A)常量a的地址值B)3C)变量p的地址值D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。

A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。

6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。

A)‘x’&&‘y’ B)x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是 A 。

A) 0和‘\0’值相等。

B) 0和‘0’ 值相等。

C)‘\0’和‘0’ 值相等。

D) 0、‘\0’和‘0’ 值都不相等。

8. 若有说明语句:char ch=‘\72’;则变量ch A 。

A)包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D 是错误的。

A)C语言是C++的一个子集;B)C语言与C++是兼容的;C)C++对C语言进行了一些改进;D)C++和C语言都是面向对象的。

10.在下列关于类概念的各描述中, A 是错误的。

南昌大学期末考试试卷(所有答案).doc

南昌大学期末考试试卷(所有答案).doc

南昌大学期末考试试卷(所有答案)XXXX第二学期结束时,南昌大学,试卷一,卷一,选择题。

“A”的ASCII码是65,n是整数,n=“A”,“6”-“3”;之后,n的值是b。

a)“d”b)68c)不确定值d)编译错误2。

在下列变量名中,a是合法的。

在A)中国B)字节之后,n的值是Ba)“d”b)68c)不确定值d)编译错误2。

在下列变量名中,a是合法的。

中国字节:字符通道.a)包含1个字符和2个字符c)包含3个字符是非法的9。

在下面对c和c之间关系的描述中,d是错误的。

a)语言c是c的子集;c语言与c语言兼容;C)c对c语言做了一些改进;c和c语言都是面向对象的。

10.下面对类概念的描述是错误的。

类是C语言中的结构类型;b)类是具有共同行为的几个对象的统一描述;类是创建对象的模板;d)类是抽象数据类型的实现。

11.在下列选项中,符合C语法的赋值表达式是C。

A)d=' 2e A)d=' 2e,' b) c) d 5='1' 1212.;表达式3)可以被理解为b. a)用于(;0 )b)对于(;1 )c)对于(;表达式1) d)表示(;表达式-省略部分-)1.一个错误a1='10a2=20a3=31a4=41 '扣1分2.三角形,得3分* * * * * * * * * * * *3.如果格式不正确,扣1分1220分4.如果顺序不正确,每点:4圆半径:5圆析构函数扣1分!点析构函数!五、程序设计问题(每项10分,共20分)1、# include # define size 10 void main(){ int数据[大小];m .请输入“[m”数据;int j=0,k=0;对于(int I=1;[[j])j=I;否则,如果(数据[I]0){ int d=数据[0];数据[0]=数据[k];数据[k]=d;} if(k2,# include lass date { public : CD ate()函数重载year=' y;月=m;day=d;'(int y,int m='1,int '成员函数设置默认参数void print date();打印日期无效设置日期(int sy,int sm,int sd)非静态函数设置日期{ year=' sy月=sm。

大学c语言期末考试题及答案

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的执行方式是编译执行C. C语言支持面向对象编程D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后不能改变答案:D4. 在C语言中,用于文件操作的库函数是:A. printfC. fopenD. getchar答案:C5. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以被赋值为NULLD. 指针可以存储函数的地址答案:D6. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:B7. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环可以和break语句一起使用C. do-while循环至少执行一次D. 循环体内不能使用continue语句答案:D8. 在C语言中,用于定义一个宏的预处理命令是:B. #includeC. #pragmaD. #import答案:A9. 下列关于函数的描述中,错误的是:A. 函数可以有返回值B. 函数可以没有参数C. 函数可以没有返回值D. 函数可以没有定义答案:D10. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与运算的运算符是____。

答案:&&3. 当需要在C语言中表示一个常量时,可以使用关键字____。

南昌大学 2005-2006年 C语言 期末试题

南昌大学 2005-2006年 C语言 期末试题


15. 对以下程序段描述正确的是 。 x=10; while(x) x=x/4; A) 不执行循环体 B) 循环体执行一次
C) 循环体执行二次
D) 死循环 。
16. 在 C 语言中,引用数组元素时,对数组下标的数据类型以下说法错误的是 A) 数组下标可以用整型常量 B) 数组下标可以用整型变量 C) 数组下标可以用任意类型的表达式 D) 数组下标可以用整型表达式 17. 以下 C 函数的功能是 。 int fun(int x,int y) { int z=0; z=x>y?x:y; return z; } A) 求 x 和 y 二者中的最大值 B) 求 x 和 y 二者中的最小值 C) 返回一个不确定的值 D) 返回函数值为“0” 18. 定义数组:int s[10];则数组元素下标的取值 。 A) 最小值为 1,最大值为 10 B) 最小值为 0,最大值为 10 D) 最小值为 1,最大值为 9 C) 最小值为 0,最大值为 9 19. 已知 int i,s[4][5];不能表示数组第 3 行第 3 列元素值的是 A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ] C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 ) 20. 以下 C 函数的类型是 fun (float f ) { printf ( “ %f \n ” , f ) ; A) int B) float 。 } C) void D) 无法确定 。 。
第 3 页 共 9 页
24. 若用下列语句输出 26 个大写英文字母: (1)for(a='A';a<='Z';a++) printf("%c",a); (2)for(a='Z';a>='A';a--) printf("%c",a); (3)for(a='A';a<='Z';) printf("%c",a++); (4)for(a='A';a++<='Z';) printf("%c",a); 以下说法正确的是 。 A)全都能输出 B)只有前三个语句可以输出 C)只有前两个语句可以输出 D)只有第一个语句可以输出 25. 设以下程序用来求三个元素的数组中,第 1 个元素与第 3 个元素之和(程序每行前 面的数字表示行号)。 1 main() 2 { int a[3]={3*0},i; 3 for(i=1;i<3;i++) scanf("%d",a[i]); 4 for(i=1;i<3;i++) a[0]=a[0]+a[i+1]; 5 printf("%d",a[0]); }

2005~2006C语言期末试卷(A)

2005~2006C语言期末试卷(A)

南昌大学2005~2006学年第二学期期末考试试卷一、单项选择题(每空 2 分,共50 分二、程序阅读题(每小题3分,共18分)三、填空题(每空2分,共20分)四、编程题(第1小题4分,第2小题8分,共12分)1.共4分(本题考自定义函数的应用,用主函数完成题目的功能不给分) void fun(char s1[],char s2[]){ int i,j=0;for(i=0;s1[i];i++) 0.5分if(s1[i]>='0'&&s1[i]<='9') 1分s2[j++]=s1[i]; 1分s2[j]='\0'; 1分第 11 页 共 11 页 求出前2项之和为一位数存入数组2分1分 1分求出前2项之和为两位数存入数组3分,没有考虑超过20项的情况应扣分 puts(s2); 输出0.5分(可用循环语句) }2.共8分# include <stdio.h>main ( ){int x[20],i,t,s=0,k=0;x[0]=2;x[1]=3;k=2; s=x[0]+x[1];while (k<20) 循环控制正确1分 {t=x[k-1]*x[k-2];if(t<10){s+=t;x[k++]=t;}else{ x[k++]=t/10;s+=t/10;if(k<20){x[k++]=t%10;s+=t%10;}}}i=0;while(i<k){ printf("%3d",x[i]);i++;}printf("\n%d\n",s);}。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

C语言程序设计2007~2008学年第二学期期末考试试卷(A)

C语言程序设计2007~2008学年第二学期期末考试试卷(A)

南昌大学2007~2008学年第二学期期末考试试卷6、在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

7、以下程序main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i〈4;i++) s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是________________。

8、以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。

请填空。

char fun(char ch){if(ch= =’Z’) ch=__________;else if(ch〉='A’&&ch<=’Y’) ch=__________;return ch;}9、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数.#include 〈stdio。

h>void main(void){int i, j;for(i=0; i〈10; i++) {j = i*10+6;if (_____ _____ ) continue;printf(”%d ”,j);}}10、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9—10,并输出结果。

请填空。

int fun(int n){int m=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f= __________ ;}return m;}main(){printf("m=%d\n”,________ __);}11、下面程序段是输出两个字符串中对应字符相等的字符。

请选择填空.char x[]=”programming”;char y[]=”Fortran”;int i=0;while (_______________ __ __){if (x[i]==y[i]) printf ("%c”,x[i]);else i++;}}12、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和.请填空。

南昌大学c期末考试题及答案

南昌大学c期末考试题及答案

南昌大学c期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. 所有选项答案:D3. C语言中,哪个函数用于将字符串转换成浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C5. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. all of the above答案:D6. 下列哪个选项是C语言中的合法变量名?A. _myVarB. 2myVarC. my$varD. my var答案:A7. C语言中,哪个函数用于输出格式化的字符串到标准输出?A. printfB. scanfC. sprintfD. fprintf答案:A8. 下列哪个选项是C语言中的正确注释?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. all of the above答案:B9. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strlengthC. strlengD. length答案:A10. 下列哪个选项是C语言中的正确循环语句?A. forB. whileC. do-whileD. 所有选项答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明包括变量的____和____。

答案:类型名字2. C语言中,用于定义指针的关键字是____。

2022年南昌大学公共课《C语言》科目期末试卷A(有答案)

2022年南昌大学公共课《C语言》科目期末试卷A(有答案)

2022年南昌大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x是一个整数(16bit),若要通过xly使x低8位置1,高8位不变,则y的八进制数是_______。

2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、C语言的源程序必须通过【】和【】后,才能被计算机执行。

4、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。

5、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______6、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。

7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。

例如:交换前,a=10、b=20、c=30;交换后,a=20、b=30、c=10。

请填空。

_______;a=b;b=c;_______;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。

请填空。

a+=_______;b=a-_______;a-=_______;10、在C语言中,二维数组元素在内存中的存放顺序是_______。

二、选择题11、以下不正确的叙述是( )。

A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中,而b中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&C.;为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是()。

南昌大学C语言2004~2005学年第二学期期末考试试卷(答案已上传)

南昌大学C语言2004~2005学年第二学期期末考试试卷(答案已上传)

2.源程序如下: main() { char ch[2][5]={“6937”, “8254”},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>’\0’;j+=2) s=10 *s+p[i][j]-‘0’; printf(“%d\n”,s); } 程序运算后的结果为:
第 2 页 共 8页
17.下列选项中,不正确的 if 语句是 。 A) if ( a > b ) printf ( “ %d ” , a ); B) if ( a > b ) m = a else m = b; C) if ( 3 ) a = m ; else a = n; D) if ( a > 0 ) ; else { a = n; } 18.以下程序的输出结果是 。 # include <stdio.h > fun ( int a , int b , int m ) { m=a*b; return ; } main ( ) { int m = 1; fun ( 2 , 3 , m ) ; printf ( “ %d \n ” , m ) ; } A) 1 B) 2 C) 3 D) 6 19.若有定义:int a = 511 , * b = & a ; ,则 printf ( “ % d \ n ” , * b ) ; 的输出结果 。 为 A) 无确定的值 B) a 的地址 C) 512 D) 511 20.以下程序的输出结果是 。 # define ADD ( x ) x + x main ( ) { int m = 1 , n = 2 , k = 3 , sum ; sum = ADD ( m + n ) * k ; printf ( “ sum = %d \n ” , sum ) ; } A) sum = 9 B) sum = 10 C) sum = 12 D) sum = 18 21.已知 int i , x [ 3 ] [ 4 ] ; ,则不能将 x [ 1 ] [ 1 ] 的值赋给变量 i 的语句 是 。 A) i = * ( * ( x + 1 ) + 1 ) B) i = x [ 1 ] [ 1 ] C) i = * ( * ( x + 1 ) ) D) i = * ( x [ 1 ] + 1 ) 22.以下函数的类型是 。 fun ( float x ) { printf ( “ %d \n ” , x * x ) ; } A) int B) float C) void D) 无法确定 23.设有语句:char str1[ ] = “string”, str2 [ 8 ], * str3, * str4= “string” ; , 则下列选项 。 中,不是对库函数 strcpy 的正确调用的是 A) strcpy ( str1, “hello1”); B) strcpy ( str2, “hello2”); C) strcpy (str3, “hello3”); D) strcpy (str4, “hello4”); 24.已有定义 int ( * p ) ( ) ; , 则指针 p 可以 。 B) 指向函数的入口地址 A) 代表函数的返回值 C) 代表函数的类型 D) 代表函数返回值的类型 25.以下能正确进行字符串赋值操作的是 。 A) char * s ; * s = “apple” ; B) char * s ; s = “apple” ; C) char s[8] ; s = “apple” ; D) char s[8] ; * s = “apple” ; 26.以下符合 C 语言语法的赋值表达式是 。 A) d = 9 + e + f = d + 9 B) d = e + = d + 9 C) 5 = d + e + f D) d = 9 + e , f + 3 = d + 9 27.设有如下说明语句: struct stud { int a ; float b ; } studtype ; 则下面的叙述中,不正确的是 。

2022年南昌大学科学技术学院公共课《C语言》科目期末试卷A(有答案)

2022年南昌大学科学技术学院公共课《C语言》科目期末试卷A(有答案)

2022年南昌大学科学技术学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。

2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。

3、在C语言源程序中,一个变量代表【】。

4、若有定义语句:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为_______5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。

6、下面程序段的运行结果是_______。

char s[80],*sp="HELLO!";sp=strcpy(s,sp);s[0]='h';puts(sp);7、鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

请填空。

for(x=0;x<=30;x++){y=30一x;if(_______)printf("%d,%d\n",x,y);}8、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。

9、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。

union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);10、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);二、选择题11、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""12、下列4组选项中,不是C语言关键字的选项是。

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

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有()个元素。

南昌大学C语言期末考试0506试卷答案

南昌大学C语言期末考试0506试卷答案

C语言程序设计期终试卷答案及评分细则一、单项选择题(每空 2 分,共50 分
二、程序阅读题(每小题3分,共18分)
三、填空题(每空2分,共20分)
求出前2项之和为一位数存入数组2分
1分
1分
求出前2项之和为两位数存入数组3分,没有考虑超过20项的情况应扣分
四、编程题(第1小题4分,第2小题8分,共12分)
1.共4分(本题考自定义函数的应用,用主函数完成题目的功能不给分)
void fun(char s1[],char s2[])
{ int i,j=0;
for(i=0;s1[i];i++) 0.5分 if(s1[i]>='0'&&s1[i]<='9') 1分
s2[j++]=s1[i]; 1分 s2[j]='\0'; 1分
puts(s2); 输出0.5分(可用循环语句) } 2.共8分
# include <stdio.h> main ( )
{int x[20],i,t,s=0,k=0; x[0]=2;x[1]=3;k=2; s=x[0]+x[1];
while (k<20) 循环控制正确1分 {t=x[k-1]*x[k-2]; if(t<10) {s+=t; x[k++]=t; } else
{ x[k++]=t/10;s+=t/10; if(k<20) {x[k++]=t%10;s+=t%10;} } } i=0; while(i<k)
{
printf("%3d",x[i]);i++; }
printf("\n%d\n",s); }。

【免费下载】c期末试卷0506 2A及答案

【免费下载】c期末试卷0506 2A及答案


D)i+j


14. 设 x、y 为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句是

A) if ( x >y ) printf ( “ %d ” , x ); B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y ); C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y ); D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y );
return z; } A) 求 x 和 y 二者中的最大值 B) 求 x 和 y 二者中的最小值
C) 返回一个不确定的值
D) 返回函数值为“0”
18. 定义数组:int s[10];则数组元素下标的取值

A) 最小值为 1,最大值为 10 B) 最小值为 0,最大值为 10
C) 最小值为 0,最大值为 9 D) 最小值为 1,最大值为 9

B) i=int(f)%5
D) i=(int f)%5
B)(x> =1)&(x<=5 )
D)(1 < =x)||(5> =x)
5. 设变量 c 的数据类型是 char,i 的数据类型是 int,f 的数据类型是 float,则 C
语言表达式 c*i+c*f-i+100 值的数据类型为
A)int
B) float

C)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环

南昌大学C语言期末考试试卷

南昌大学C语言期末考试试卷

第 4 页 共 8页
二, 程序阅读题 (每小题 6 分,共 30 分)
得分 评阅人
1.源程序如下: #include <stdio.h> main() { int k=4, m=1, p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d \n",p); } func(int a, int b) { static int m=0, i=2; i+=m+1; m=i+a+b; return m; } 程序运算后的结果为:____________. 2.源程序如下: main(){ int a[][3]={{1,2,3},{4,5,0}},{*pa}[3],i; pa=a; for(i=0;i<3;i++) if(i<2) pa[1][i]=pa[1][i]-1; else pa[1][i]=1; printf("%d\n",a[0][1]+a[1][1]+a[1][2]); } 程序运算后的结果为:____________. 3.源程序如下: int m(unsigned k) { int s=1; do{ s*=k%10; k/=10; }while(k); return s; } main() { printf("%d,%d\n",m(1234),m(43209)); } 则程序的输出结果是果是:____________. 4.源程序如下: main(){ int a=10,b=20,c; c=(a%b<1)||(a/b>1); printf("%d %d %d\n",a,b,c); } 程序运算后的结果为:____________.

南昌大学09-10届c语言期末考试试题

南昌大学09-10届c语言期末考试试题

南昌大学 2009~2010学年第二学期期末考试试卷(1)输入项可以是一个实型常量,例如:scanf(“%f”,3.5);(2)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);(3)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf(“%7.2f”,&f);(4) 当输入数据时,必须指明变量的地址,例如: scanf(“%f”,&f);6、以下程序的输出结果是。

main(){ int a=12, b=12;printf(“%d %d\n”,--a,++b);}(1)10 10 (2)12 12 (3)11 10 (4)11 137、C语言基本类型包括________。

(1) 整型、实型、逻辑型 (2) 整型、实型、字符型(3) 整型、字符型、逻辑型 (4) 整型、实型、字符型、逻辑型8、有以下程序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);}则该程序运行后的输出结果是________。

(1)1 (2) 2 (3) 3 (4)49、以下关于运算符优先顺序的描述中正确的是___ __。

(1) 关系运算符<算术运算符<赋值运算符<逻辑与运算符(2) 逻辑与运算符<关系运算符<算术运算符<赋值运算符(3) 赋值运算符<逻辑与运算符<关系运算符<算术运算符(4) 算术运算符<关系运算符<赋值运算符<逻辑与运算符10、阅读以下程序:main( ) { int x;scanf("%d",&x);if(x--<5) printf("%d",x);else printf("%d",x++);}该程序运行后,如果从键盘上输人5并按回车键,则输出结果是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学2005~2006学年第二学期期末考试试卷6.在下列选项中,合法的C语言用户标识符的是。

A)int B)sin C)if D)i+j7.C程序的执行从开始。

A) 程序中的第1个语句B) 程序中的第1个函数C) 名为main 的函数D) 包含文件的第1个函数8.凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。

A) 自动(auto) B) 静态(static) C) 字符串D) 字符或字符型变量值9.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是。

main(){int x,y;scanf("x=%d,y=%d",&x,&y);printf("x+y=%d",x+y);}(说明:用<CR>表示换行符,用_表示空格符)A) 10_20<CR> B) x=10,y=20<CR>C) 10<CR> D) x=10<CR>20<CR> y=20<CR>10.下面程序的运行结果是。

main(){int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}A) a=32767,b=-32768 B) a=32767,b=32768C) a=32767,b=1 D) 运行出错11.在C语言中,以下错误的描述是。

A) break语句不能用于循环语句和switch语句外的任何其它语句B) 在switch语句中使用break语句或continue语句的作用相同C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环12.在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实参,则实际上传递给形参的是。

A) 数组首地址B) 数组的第一个元素值C) 数组中全部元素的值D) 数组元素的个数13.C语言编译系统对宏命令是。

A) 在程序运行时进行替换处理B) 在程序连接时进行处理C) 和源程序中其它C语句同时进行编译D) 在对源程序中其它成份正式编译之前进行处理14.设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句是。

A) if ( x >y ) printf ( “ %d ” , x );B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y );C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y );D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y );15.对以下程序段描述正确的是。

x=10;while(x) x=x/4;A) 不执行循环体B) 循环体执行一次C) 循环体执行二次D) 死循环16.在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的是。

A) 数组下标可以用整型常量B) 数组下标可以用整型变量C) 数组下标可以用任意类型的表达式D) 数组下标可以用整型表达式17.以下C函数的功能是。

int fun(int x,int y){ int z=0;z=x>y?x:y;return z; }A) 求x 和y二者中的最大值B) 求x 和y二者中的最小值C) 返回一个不确定的值D) 返回函数值为“0”18.定义数组:int s[10];则数组元素下标的取值。

A) 最小值为1,最大值为10 B) 最小值为0,最大值为10C) 最小值为0,最大值为9 D) 最小值为1,最大值为919.已知 int i,s[4][5];不能表示数组第3行第3列元素值的是。

A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ]C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 )20.以下C函数的类型是。

fun (float f ){ printf ( “ %f \n ” , f ) ; }A) int B) float C) void D) 无法确定21.设char *s1,s2[255]=“programing” ;以下操作正确的是。

A) *s1 = “function”;B) s2=“function”;s1=s2;C) s1 = “function”;s2=s1;D) *s2='P';s1 =s2 ;22.设有说明语句:struct student{ int num,age; };struct student stu[3]={{6001,20},{6003,21},{6005,19}};struct student *p=stu;则下面的C语言表达式中,值为6003的是。

A) ++(p->num) B) (p++)->numC) (*p++).num D) (*++p).num23.已有定义 int ( * p ) ( ) ; 则指针 p 可以。

A) 代表函数的返回值B) 指向函数的入口地址C) 代表函数的类型D) 代表函数返回值的类型24.若用下列语句输出26个大写英文字母:(1)for(a='A';a<='Z';a++) printf("%c",a);(2)for(a='Z';a>='A';a--) printf("%c",a);(3)for(a='A';a<='Z';) printf("%c",a++);(4)for(a='A';a++<='Z';) printf("%c",a);以下说法正确的是。

A) 全都能输出B) 只有前三个语句可以输出C) 只有前两个语句可以输出D) 只有第一个语句可以输出25.设以下程序用来求三个元素的数组中,第1个元素与第3个元素之和(程序每行前面的数字表示行号)。

1 main()2 { int a[3]={3*0},i;3 for(i=1;i<3;i++) scanf("%d",a[i]);4 for(i=1;i<3;i++) a[0]=a[0]+a[i+1];5 printf("%d",a[0]); }则下述说法正确的是。

A) 第2行有语法错误B) 第3行有错误,程序得不到预期结果C) 编译时第4行出现语法错误D) 可以得到正确结果二、程序阅读题(每小题3分,共18分)(写出以下程序运行的结果)得分评阅人1.#include<stdio.h>main(){ int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d); }程序运行结果为:2.#include <stdio.h>main(){ int a=10,b=0;if (a!=0){ a=a+1;b=b+1;}else{ a=a+2;b=b+2;}printf(“%d,%d\n",a,b); }程序运行结果为:3.#define V(s) s*s*s#include <stdio.h>main(){ int volume;volume=V(1);printf("%d\t",volume);volume=V(2);printf("%d\t",volume);volume=V(1+2);printf("%d\n",volume);}程序运行结果为:4.#include <stdio.h>main(){ char s[]={"12345"};void sub_s1(char s[],int n) ;void sub_s2(char s[ ],int n);sub_s1(s,5);sub_s2(s,6);}void sub_s1(char s[],int n){ int i,j;for(i=0;i<n;i++){ for(j=0;j<i;j++) printf("%c",s[j%5]);printf("\n");}}void sub_s2(char s[ ],int n){ int i,j;for(i=0;i<n;i++){ for( j=i;j<n;j++) printf("%c",s[j%5]);printf("\n");}}程序运行结果为:5.#include <stdio.h>main(){ int i,a;int fun(int m);for(i=0;i<2;i++){ a=fun(4+i);printf("%d\n",a); } }int fun(int m){ static int n=0;m/=2;m=m*2;if(m){ n=n*m; return (fun(m-2));}else return(n++);}程序运行结果为:6.#include <stdio.h>main(){ int i,k=0,s[10]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<10;i++)if(i%2) k+=s[i];for(i=i-1;i>=0;i--)if(i%5= =0) printf(“%d\t”,s[i]);printf(“%d\n”,k);}程序运行结果为:三、填空题(每空2 分,共20 分)(请在下划线上填入合适的内容,完成程序或程序段所要求的功能)得分评阅人1.以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,要求在下划线上填入合适的内容,使输入字符串中的‘A’和‘B’转换为字符‘#’输出,其它字符输出为‘*’。

# include <stdio.h>main ( ){ char c ;while( ( c = getchar ( ) ) !=________________ ){ switch ( c ){ case 'A':case 'B': putchar('#') ; ___________________;default : putchar( '*' ) ;}}}2.以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。

相关文档
最新文档