C语言程序设计期末考试样卷
程序设计C语言期末试卷

制定具体的养护方案《程序设计(C语言)》期末考试卷(A)使用专业、班级学号姓名l 题数一二三四五总分得分一、选择题〖每题2分,共计40分〗1.下列变量合法的是(B)。
A.2a0 B._1a0 C.x>y D.b-a2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。
A.7 B.8 C.6 D.23.有以下程序:void main( ){int x=101,y=011;printf("%2d,%2d\n",x,y);}执行后输出结果是(C)。
A.10, 9 B.101,11 C.101, 9 D.01,114.若有说明语句:char c='\72';则变量c( A )。
A.包含1个字符 B.包含2个字符 C.包含3个字符D.说明不合法,c的值不确定5.阅读一下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为( D )。
void main(){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("x+y+z=%d\n",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值江南大学考试卷专用纸1考试形式开卷()、闭卷(√),在选项上打(√)开课教研室命题教师统一命题时间使用学期6.定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果为()。
for(k=0;k<3;k++) printf("%d",a[k][2-k]);A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 77.有以下程序:void main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf("n=%d\n",n);}程序执行后的输出结果是()。
C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。
要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。
C语言程序设计期末考试样题.docx

一、根据流程图编程题(1)在VC++集成环境下建立本人文件夹下的文件??_1. c (其中??代表本人后两位学号)。
(2)根据下面的流程图编写程序。
(3)保存程序后,关闭工作区。
#include<stdio.h> main(){int i,a,b,sum;a=l;b=50;sum=O;for(i=a;i<=b;i++)(if(i%4==0) (sum=sum+i;printf("sum=%d\n",sum);二、根据提示编程题根据下面提示信息编写程序,计算下面分段函数的值。
x - 2(% < 0)r2t= T ME)4(x = 1)5x (x > 1)(1)在VC++集成环境下建立本人文件夹下的文件??_2.c (其中??代表本人后两位学号)。
(2)将下面代码框架复制到VC++编程环境后,根据注释补充代码。
(3)保存程序后,关闭工作区。
^include <stdio. h>main (){int xll ; /*定义整型变量x?? ,??代表自己的2位学号*/double til; /*定义实型变量t?? ,??代表自己的2位学号*/printf("Input data: "); /* 显示”Input data:" */scanf("%d",&xll); /* 输入x??的值 *//*下面要求用if语句计算相应t??的值(应为多行)*/if(xll<0)tll=xll-2;if(xll>=0 && xll<l)tll=xll*xll/3.0;if(xll==l)tll=4;if(xll>l)tll=5*xll;printf("%d,%l^n",xll,tll) ; /* 输出x??和t??的值 */三、独立编程题编写程序,使用随机函数“randO ”,生成10个[1, 100]之间的整数并存于数组中,首先输出数组各元素值。
C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。
1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。
以下是程序的运行示例:```1至100之间的所有偶数的和为2550。
```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。
以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。
C语言程序设计期末考试试题及答案

C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。
A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。
A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。
A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。
A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。
A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。
A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。
A 在调用用户自定义函数时,必须对其进行声明。
B 函数可以返回一个值,也可以什么值也不返回。
C 说明函数时,必须明确参数的类型和返回值。
D 在程序设计中空函数没有什么作用。
8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。
switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。
A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};C. char str[10]; str= "strings";D. char str[]= "strings";10. 有如下程序:#include <stdio.h>void main(){int a=1,b=0,c=0;if (a<b)if (b<0) c=0;else c++;printf (“%d\n”,c);}该程序的运行结果是 D 。
C语言程序设计期末考试卷及答案

第 1 页 共 10 页C 语言程序设计(ch én ɡ x ù sh è j ì)期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择(xu ǎnz é)一个最佳答案填入括号内( 每小题1分,共计(ɡòn ɡ j ì)30分)。
1.一个(y ī ɡè)C 语言程序(ch éngx ù)的执行是从( )。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。
A )switchB )printfC )defaultD )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。
A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。
A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。
A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。
A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。
#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。
c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。
C语言程序设计#(期末测试)

C语言的基本构成单位是:。
选择一项:a. 函数b. 函数和过程c. 超文本过程d. 子程序反馈正确答案是:函数一个C语言程序总是从开始执行。
选择一项:a. 主函数b. 子程序c. 主程序d. 主过程反馈正确答案是:主函数C语言的程序一行写不下时,可以。
选择一项:a. 在任意一空格处换行b. 用逗号换行c. 用回车符换行d. 用分号换行反馈正确答案是:在任意一空格处换行以下叙述不正确的是:。
选择一项:a. 在C程序中,无论是整数还是实数都能正确无误地表示b. 10 是正确的,因为实型变量中允许存放整型数c. 在C程序中,%是只能用于整数运算的运算符d. 若a 是实型变量,C程序中ae. 在C程序中,语句之间必须要用分号" ;" 分隔反馈正确答案是:10 是正确的,因为实型变量中允许存放整型数, 在C程序中,无论是整数还是实数都能正确无误地表示以下不正确的C语言标识符是。
选择一项:a. a_bcb. cc. ABCd. abc反馈正确答案是:a下列字符串是标识符的是:。
选择一项:a. _HJb. 9_studentc. LINE 1d. long反馈正确答案是:_HJ以下说法中正确的是:。
选择一项:a. 在C语言程序中,要调用的函数必须放在main() 函数中定义b. C 语言程序总是从第一个定义的函数开始执行c. C 语言程序总是从main() 函数开始执行d. C 语言程序中的main() 函数必须放在程序的开始部分反馈正确答案是:C 语言程序总是从main() 函数开始执行在C语言中,字符型数据在内存中以形式存放。
选择一项:a. 反码b. 原码c. BCD 码d. ASCII码反馈正确答案是:ASCII码若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4 的值是:。
选择一项:a. 2.b. 0.c. 3.d. 2.反馈正确答案是:2.设有说明:char w; int x; float y; double z;则表达式w*x+z-y 值的数据类型为:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008年C语言程序设计期末考试样卷一、填空题1、C语言程序从函数开始执行。
2、关系运算的结果得一个整数值:或者。
3、已知int a[ ]={0,1,2,3,4,5}; ,则它的最大下标是。
4、结构化程序的3种基本结构是,和。
5、若a1和a2都是double型变量,且a1的初值为3.0,a2的初值为2.0,则表达式pow(a2,fabs(a1))的值为。
6、表达式“8.2-2/3”的计算结果是。
7、若有定义:int a=25, b=14, c=19; 则表达式(a=b<c?(a>b?c:d):c)的值是。
8、设有以下结构体定义struct emp{ char name[8];int age;char sex;}staff;则用户定义的结构体类型名为。
9、表达式5>3&&2||8<4-!1的值。
10、已知int a[10]; ,则a占用内存个字节的存储单元,代表他们的首地址是。
11、将str定义为字符数组并初始化为“Lei”的语句是。
12、设有定义:int n, *k=&n; ,以下语句利用指针变量k读写变量n中的内容,请将下列语句补充完整。
scanf(“%d”, ); printf(“%d\n”, );13、设y是int型变量,请写出判断y为奇数的关系表达式:。
14、设有以下变量定义,并已赋确定值char w; int x; float y; double z;则表达式w*x+z-y所求得的数据类型为。
15、设i、j、k均为int型变量,则执行完下面的for循环后,k的值为。
for(i=0, j=10; i<=j; i++, j--) k=i+j;16、语句:x++; ++x; x=x+1; x=1+x; 执行后都使变量x中的值增1,请写出一条相同功能的赋值语句(不得与列举的相同):。
17、设a,b,c均为整型数,且a=1,b=2,c=3,则语句a-=a+(++b)+(c--);被执行后a的值是。
18、若有定义“int a[2][3] = {1,3,5,7,9,11}; ”则a[1][0]的值是,*(*(a +1)+2))的值是。
19、设X为int型变量,请写出描述“X是偶数”的表达式是:。
20、C语言提供的三种逻辑运算符是、和!;二、选择题(1) 以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;(2) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000 B)6 C) 5.500000 D) 6.000000(3) 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A) scanf(“%2d%2d%2d”,&i,&j,&k);B) scanf(“%d %d %d”,&i,&j,&k);C) scanf(“%d,%d,%d”,&i,&j,&k);D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);(4) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是A)printf(“x=%d\n”,x); B) printf(“x=%1d\n”,x);C)printf(“x=%8dL\n”,x); D)printf(“x=%LD\n”,x);(5) 若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是A) 8,6 B) 8,3 C) 6,4 D) 7,4(6) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6B) 0C) 2D) 1(7) 若有以下说明和定义typedef int *INTEGER;INTEGER p,*q;以下叙述正确的是A) P是int型变量B) p是基类型为int的指针变量C) q是基类型为int的指针变量D) 程序中可用INTEGER代替int类型名(8) 以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1(9) 有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于3(10) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是A) p=q; B) *p=*q; C) n=*q; D) p=n;(11) 设有如下定义:struck skfloat b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是A) p=&a; B) p=data.a; C) p=&data.a; D) *p=data.a;(12) 有以下程序int f(int n){ if (n==1) return 1;else return f(n-1)+1;}main(){ int i,j=0;for(i=1;i<3;i++) j+=f(i);printf(“%d\n”,j);}程序运行后的输出结果是A) 4 B) 3 C) 2 D) 1(13) 有以下程序main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%d\n”,i,j);}程序运行后的输出结果是A)9,9 B)8,9 C)1,8 D)9,8(14) 有以下程序#include <string.h>main(){ char *p=“abcde\Ofghjik\0”;printf(“%d\n”,strlen(p));}程序运行后的输出结果是A) 12 B) 15 C) 6 D) 5(15) 有以下程序int fa(int x){ return x*x; }int fb(int x){ return x*x*x; }int f(int (*f1)(int x),int (*f2)(int x),int x){ return f2(x)-f1(x); }main()i=f(fa,fb,2); printf(“%d\n”,i);}程序运行后的输出结果是A) -4 B) 1 C) 4 D) 8(16) 有以下程序int a=3;main(){ int s=0;{ int a=5; s+=a++; }s+=a++;printf(“%d\n”,s);}程序运行后的输出结果是A) 8 B) 10 C) 7 D) 1117、C语言规定,函数返回值的类型由所决定。
A、return语句中的表达式类型B、调用该函数时的主调函数类型C、调用该函数时的形象参数D、在定义该函数时所指定的函数类型18、语句int (*ptr)( ): 的含义是。
A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向int型数据的指针19、若有语句组typedef int AR[5]; AR a; 则以下叙述中正确的是。
A、a是一个新类型B、a是一个整型变量C、a是一个结构变量D、a是一个数组名20、在定义一个共用体变量时,系统分配给它的内存是。
A. 结构体最后一个成员所需内存B. 各成员所需内存量的总和C. 结构体中第一个成员所需内存量D. 成员中占内存量最大者所需的容量21、以下四个运算符,按优先级由高到底的排列顺序是。
A、 /、=、==、!B、!、/、=、==C、!、/、==、=D、 /、!、==、=22、若有定义:int a[10], *p=a; 则*(p+5)表示。
A、数组元素a[5]的地址B、数组元素a[5]的值C、数组元素a[6]的地址D、数组元素a[6]的值23、以下正确的描述是。
A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均不可以嵌套D、函数的定义和函数的调用均可以嵌套24、若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是。
w=1; x=2; y=3; z=4;k=(w<x)?w:x;k=(k<y)?k:y;k=(k<z)?k:z;A、1B、2C、3D、425、为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与。
A、缩排位置相同的if配对B、其之前最近且不带else的if配对C、其之前最近的if配对D、第一个if配对三、完成程序1、下列程序打印出1000以内的所有“完全数”。
“完全数”是指一个正整数,其所有小于该数的因子之和等于该数本身。
例如:6=1+2+3,又如:28=1+2+4+7+14#include<stdio.h>void main(){ int i,j,s;for(j=2; j<=1000; j++){ s=0;for(i=1; i<j; i++)if( ) s+=i;if( ) printf(“%4d”,j);}}2、求一个3×3的整型矩阵主对角线元素之和#include<stdio.h>void main(){ int a[3][3],sum=0;int i,j;printf(“enter data:\n”);for(i=0; i<3; i++)for(j=0; j<3; j++)scanf(“%d”, &a[i][j] );for(i=0; i<3; i++)sum+=a[i][i] ;printf(“sum=%6d\n”,sum);}3、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。
请填空。
main( ){ char ch1;scanf("%c", ch1);if ( ch1>='A' && ch1<='Z' )ch1=ch1+32;else if (ch1>='a' && ch1<='z')ch1=ch1-32 ;printf("%c", ch1);}四、编程题1、从键盘上输入任意一些整数,统计正数的个数及其和,负数的个数其和,以及零的个数,直到值为999时结束。