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

合集下载

南昌大学C语言0708第一学期期末试卷B提前及答案

南昌大学C语言0708第一学期期末试卷B提前及答案

南昌大学2007〜2008学年第一学期期末考试试卷(提前)试卷编号:_______ (B )卷课程编号:H61050001 课程名称:C程序设计 _________ 考试形式:闭卷适用班级:过控05 ___________ 姓名:_____________ 学号: ________ 班级:___________ 学院:___________________ 专业: ___________________ 考试日期:2007-12-24__________2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。

一、单项选择题(每小题2分,共50分,答案请写在答题卡)1. ________________________________________________________________________ C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符_________________ <A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字、下划线中任意一种字符2. 若t为double类型,表达式t=1,t+5,t++的值是 __________ 。

A) 1 B) 6.0 C) 2.0 D) 1.03. 以下运算符中,运算对象必须是整型的是________ 。

A) / B) %= C)! = D)< =4. 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是A) printf( “x=%d,x); B) printf( “x=%1d,x);C) printf( “ x=%8dH_ ,x); D) printf( “ x=%LD ,x)5. __________________________________________________________ 已知int x = 10,y= 20, z= 30;以下语句执行后x, y, z的值是________________________________ 。

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

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

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2variableB. _variableC. variable2D. variable-2答案:C2. 下列哪个选项是C语言中的关键字?A. defineB. typedefC. includeD. using答案:B3. 在C语言中,以下哪个选项表示的是逻辑与运算?A. &&B. ||C. !D. =答案:A4. C语言中,以下哪个选项是正确的注释方式?A. /* 这是注释 */B. // 这是注释C. /* 这是注释 */D. # 这是注释答案:A5. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B6. C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:A7. 在C语言中,以下哪个选项是正确的函数声明?A. int func(int a, int b);B. int func(int a, int b) {}C. int func(int, int);D. int func(int a, int b) = 0;答案:A8. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = {'H', 'e', 'l', 'l', 'o'};C. char str[] = "Hello";D. char str[] = {'H', 'e', 'l', 'l', 'o'};答案:A10. C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50];} student;D. struct Student {int id;char name[];} student;答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用______运算符可以取变量的地址。

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

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

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的元素类型必须一致C. 数组的下标可以是实数D. 数组的下标可以是负数答案:B3. C语言中,用于文件操作的库函数位于哪个头文件中?A. stdio.hB. math.hC. string.hD. stdlib.h答案:A4. 下列哪个运算符不能用于赋值?A. =B. +=C. *=D. %答案:D5. C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:B6. 下列关于指针的描述中,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. C语言中,用于定义一个宏的预处理指令是:A. #defineB. #includeC. #pragmaD. #if答案:A8. 下列关于循环的描述中,正确的是:A. for循环可以没有初始化表达式B. while循环可以嵌套C. do-while循环至少执行一次D. 所有循环都可以使用break语句退出答案:C9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列关于函数的描述中,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数可以嵌套定义答案:D二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是______。

答案:652. 若int a = 10; int b = 20; 则表达式a++ + b的结果是______。

南昌大学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 是错误的。

大学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]); }

南昌大学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语言中,用于定义指针的关键字是____。

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

第 3 页 共 8页
23.下面函数的功能是______。 fun(char *a,char *b){ while((*a!='\0')&&(*b!='\0')&&(*a= =*b)) { a++; b++; } return(*a-*b); } A) 计算 a 和 b 所指字符串的长度之差 B) 将 b 所指字符串连接到 a 所指字符串中 C) 将 b 所指字符串连接到 a 所指字符串后面 D) 比较 a 和 b 所指字符串的大小 24.以下程序的输出结果是______。 main(){ int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d",n++,++m); } A) 12353514 B) 12353513 C) 12343514 D) 12343513 25.以下程序运行后的输出结果是____ #define S(x) 4*x*x+1 main(){ int i=6,j=8; printf("%d\n",S(i+j)); } A) 81 B) 785 C) 402 D) 401 26.有以下程序 main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f ’, ‘g’,‘h’,‘\0’}; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d\b”i,j); } 程序运行后的输出结果是 _________。 A) 9,9 B) 8,9 C) 1,8 D) 9,8 27.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10 的是 _____。 A) abs(x-y)<10 B) x-y>-10&& x-y<10 C) @(x-y)<-10||!(y-x)>10 D) (x-y)*(x-y)<100 28.若有说明语句: int c[4][5],(*p)[5];p=c; 能正确引用 c 数组元素的是 _________。 A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2)) 29.设有以下语句 typedef struct S { int g; char h;} T; 则下面叙述中正确的是 _________。 A) 可用 S 定义结构体变量 B) 可以用 T 定义结构体变量 C) S 是 struct 类型的变量 D) T 是 struct S 类型的变量 30. 有以下程序 main( ) { unsigned char a,b; a=4|3; b=4&3; printf(“%d %d\n”,a,b); } 执行后输出结果是 _________。 A) 7 0 B) 0 7 C) 1 1 D) 43 0
南昌大学 2005~2006 学年第二学期期末考试试卷
试卷编号: 课程编号: 适用班级: 学院:
题号 题分 得分 一 30 二 30 三 22
( B)卷 闭卷
H61050001 全校理工科

课程名称: 姓名: 专业:
四 18 五 六
C 程序设计 学号:
考试形式:
班级: 考试日期:




总分 100
累分人 签名
第 5 页 共 8页
5.源程序如下:
#include <string.h> move(char *str, int n){ char temp ; int i; temp=str[n-1]; for(i=n-1; i>0;i--) str[i]=str[i-1]; str[0]=temp; } main(){ char s[50]; int n, i, z; scanf("%d,%s",&n, s); z=strlen(s); for(i=1; i<=n; i++) move(s,z); printf("%s\n",s); } 若从键盘输入:3,abcde<回车>,则输出结果是:____________。
第 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); } 程序运算后的结果为:____________。
第 2 页 共 8页
16.以下程序的输出结果是______。 main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i; for(i=0;i<3;i++) printf("%d ",a[1][i]); } A) 0 1 2 B) 1 2 3 C) 2 3 4 D) 3 4 5 17.以下程序的输出结果是______。 main(){ int x=1,a=0,b=0; switch(x){ case 0:b++; case 1:a++; case 2:a++;b++;} printf(“a=%d,b=%d\n”,a,b); } A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 18.以下程序执行后 sum 的值是______。 main(){ int i,sum=0; for(i=1;i<6;i++) sum+=i; printf(“%d\n”,sum); } A) 15 B) 14 C) 不确定 D) 0 19.以下程序的输出结果是______。 main(){ int a=1,b; for(b=1;b<=10;b++){ if(a>=8) break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } A) 3 B) 4 C) 5 D) 6 20.以下程序的输出结果是______。 main(){ char s[]="159",*p; p=s; printf("%c",*p++); printf("%c",*p++); } A) 15 B) 16 C) 12 D) 59 21.若 fp 是指向某文件的指针,且已读到文件的末尾,则 C 语言函数,feof(fp)的返回 值不可能是______。 A) EOF B) -1 C) 1 D) NULL 22.以下能正确定义二维数组的是_______。 A) int a[][3]; B) int a[][3]=2{2*3}; C) int a[][3]={1}; D) int a[2][3]={{1},{2},{3,4}};
考生注意事项:1、本试卷共 8 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更 换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、 单项选择题 (每空 1 分,共 30 分)
得分 评阅人
说明:请将各小题正确答案的字母 序号填到相应小题的下划线上。
1.一个 C 程序的执行是从 。 A)本程序的 main 函数开始,到 main 函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的 main 函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序 main 函数结束 。 2.一个 C 语言程序是由 A) 若干主程序和若干子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成 3.以下不能定义为用户标识符是 。 A) Main B) _0 C) _int D) sizeof 4.合法的 C 语言赋值语句是 。 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b); 5.以下所列的 C 语言常量中,错误的是 。 A)0xFF B) 1.2e0.5 C) 2L D) ’\72’ 6.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是 。 A) 1 B) 2 C) 2.0 D) 2.5
相关文档
最新文档