当前位置:首页 > C语言6套试题
for(i=0;i { if( ① ) printf(“\\n”); printf(“%d ”,a[i]); } for(i=0;i printf(“average=%f\\n”,avg); } 5.将字符数组中大写字符改为小写字符,将小写字符改为大写字符,利用指针完成。 #include “stdio.h” void main( ) { char str[30]=“Welcome to C Language”,*cp=str; while(*cp) { if(*cp>=‘A’&&*cp<=‘Z’) ① ; else if(*cp>=‘a’&&*cp<=‘z’) *cp=*cp-32; ② ; } puts(str); } 五、程序设计题(3个小题,共20分): 1.设三个整型变量a,b,c,编写程序为a,b,c输入数据,并要求a,b,c按由小到大排序后输出。(5分) 2.学生成绩可分为五分制与百分制,编程将百分制转换为五分制输出。(5分) 3.编写排序函数sort(int a[ ]),实现对数组a中的元素进行排序,并利用该函数,从键盘输入若干个数(如10个)将其按升序排列。(10分) 第一套试题 一、单项选择题(15个小题,每题2分,共30分): 1-5:AABCD 6-10:ACBBC 11-15:BCADB 二、填空题(5个小题,每题2分,共10分): 1.2 2.4 3.string.h 4.7.000000 5.a=3,b=4 三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分): 1.a=2,b=1 2.Turbo 3.5+4+1=10 4.10,20 5.a+b=9 10+4+2=16 四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分): 1.①j<=i ②printf(“\\n”) 2.①float average(float a[10]) 或 float average(float a[ ]) ②return (sum/10) 3.①m=length(str) ②*p!=‘\\0’ 或 *p 4.①i%3==0 ②avg+=a[i] 或 avg=avg+a[i] 5.①*cp=*cp+32或*cp=*cp+‘a’-‘A’ ②cp++ 五、程序设计题(3个小题,共20分): 1.#include “stdio.h” void main( ) { int a,b,c,t; printf(\scanf(\&a,&b,&c); ??1分 if(a>b) { t=a; a=b; b=t; } ??3分 if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf(\分 } 2.#include “stdio.h” void main( ) { float score; printf(“Input a score:”); scanf(“%f”,&score); while(score>100||score<0) ??2分 { printf(“Error! Please input again:\\n”); scanf(“%f”,&score); } if(score>=90) printf(“A\\n”); ??3分 else if(score>=80) printf(“B\\n”); else if(score>=70) printf(“C\\n”); else if(score>=60) printf(“D\\n”); else printf(“E\\n”); } 3.#include \#define N 10 void sort(int a[ ]); ??1分 void main( ) { int a[N],i,j; printf(\for(i=0;i void sort(int a[ ]) { int i,j,temp; for(i=0;i if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } 第二套试题 一、 单项选择题(15个小题,每小题2分,共30分): 1.在一个源程序中,main函数的位置_____。 A.必须在最前面 B.必须在系统调用的库函数的后面 C.没有具体要求 D.必须在最后 2.正确的用户自定义标识符是_____。 A.a=2 B.a+b C.name D.default 3.以下叙述中正确的是_____。 A.break语句只能用于switch语句体中 B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C.break语句只能用在循环体内和switch语句体内 D.在循环体内使用break语句和continue语句的作用相同 4.C语言中最简单的数据类型包括_____。 A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、字符型、逻辑型 D.字符型、实型、逻辑型 5. 设ch是char型变量,其值为‘A’,且有表达式ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch,该表达式的值为_____。 A.A B.a C.Z D.z 6. 以下叙述正确的是_____。 A.用do-while语句构成的循环不能用其它语句构成的循环来代替 B.用do-while语句构成的循环只能用break语句退出 C.用do-while语句构成循环时,当while后的表达式成立时结束循环 D.用do-while语句构成循环时,当while后的表达式不成立时结束循环 7.为了判断两个字符串s1和s2是否相等,应当使用_____。 A.if(s1==s2) B.if(s1=s2) C.if(strcmp(s1,s2))真 D.if(strcmp(s1,s2)==0) 假 8.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_____。 A.k%2 (k/2) B.k%2==1 C.(k%2)!=0 D.!k%2==1 9.下列是关于数组的叙述,不正确的是_____。 A.在定义数组时,数组名前的类型是指明数组各元素的类型 B.数组各元素的类型是相同的,而且是有序的 C.在引用数组元素时,数组元素的下标表达式必须是常量整型表达式 D.对整型数组来说,未初始化时,各数组元素的值是不确定的 10.有字符数组x[50],y[50],则正确的输出语句是_____。 A.printf(″%s″,″%s″,x,y); B.puts(x);puts(y); C.putchar(x,y); D.puts(x,y); 11.以下对一维数组a进行不正确初始化的是_____。 A.int x[5]={}; B.int x[5]=(0,0,0); C.int x[ ]={0}; D.int x[5]={2*3}; 12.下列叙述中错误的是_____。 A.主函数中定义的变量在整个程序中都是有效的 B.在其他函数中定义的变量,没有特殊声明在主函数中不能使用 C.形式参数也是局部变量 D.复合语句中定义的变量只在该复合语句中有效 13.设有函数原型、一维数组和变量定义如下: 函数原型 void fun(int x[ ],int n); 数组定义 int a[4]={1,2,3,4}; float b[4]={1.0,2.0,3.0,4.0}; 变量定义 int m=4,value; 下列函数调用中,正确的是_____。(函数返回值?) A.fun(a,m); B.value=fun(a[1],m); C.value=fun(a,4); D.fun(b,m); 14.以下对指针定义合法的语句是_____。 A.int *p=&x=3; B.int y[5]={1,2,3,4,5},*p=&y; C.char ch[12]=″Hello World″,*c=ch; D.char *c,c=‘x’,c=&c; 15.以“只读”方式打开文本文件aa.dat,下列语句中哪一个是正确的_____。 A.fp=fopen(″aa.dat″,″r+″); B.fp=fopen(″aa.dat″,″a″); C.fp=fopen(″aa.dat″,″wb″); D.fp=fopen(″aa.dat″,″r″); 二、填空题(15个小题,每空1分,共15分): 1. 结构化程序设计的三种基本程序结构为顺序结构、选择结构和________。 2. 条件“30≤x≤80且x≠50”的C语言表达式是________。 3. C语言源程序文件的后缀是________。 4. 有如下定义:int m=1,n=1,x=3;则执行语句:if(!n) x+=1;if(m) x-=2;后,x的值是________。 5. 执行如下语句: int i=10; do { i=i+10;}while(i>20);后,i的值是________。 6. 若a、b、c和d都是int型变量,则执行表达式d=(a=2,b=4,c=a*b);后,d的值为________。 7. 在使用数组元素的过程中,C语言编译系统________(是/否)检查下标“越界”。 8. 设m=4,n=7,表达式x=(m++)*(--n)的值是________。 9. 执行如下语句:int k;k值不确定 for(k=0;k=1;k++); 则该循环执行的次数是________。 10. 有如下定义:int x[5]={1,3,5,7,9},*p=&x[2];则执行语句printf(\;的输出结果是________。 11. 有如下结构体定义: struct date { int year; int month; int day; };
共分享92篇相关文档