您的当前位置:首页正文

c语言程序设计试卷及参考答案【经典题目】

2022-08-02 来源:易榕旅网
 系部: 班 级: 姓 名: 学 号: …………○……………○……………密………………○………………封………………○………………线……………○……………○………… 命题人: 审题人: 系主任: 学院试卷 课程名称:c语言程序设计 课程编号:03110030 题 号 题 分 得 分 阅卷人 一 30 二 15 三 20 四 15 五 20 总分 100 注意事项:1.本试题一共5道大题,共5页,满分100分。考试时间120分钟;2.答题前,请准确、清楚地填各项,涂改及模糊不清者、试卷作废;3.试卷若有雷同以零分计;4.选择题、判断题答案统一填写在答题栏内,否则以零分计算。 一、单项选择题(每小题2分,共30分) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1、c语言程序的入口是( ) A、sqrt() B、strcpy() C、main() D、以上都不是 2、int a=5;int b=8; int x=a>b?a:b; 执行程序后,x的值为( ) A、5 B、0 C、8 D、1 3、char s[15]=”Hello world”; int en=strlen(s); 执行程序后,en的值为( ) A、15 B、9 C、10 D、11 4、for(int i=1;i<20;i++){ printf(“welcome…”); } 执行程序之后i的值为( ) A、1 B、19 C、20 D、21 5、char s1=”Thank ”;char s2=”you”; strcat(s1,s2);执行程序之后,s1的内容为( )。 A、Thank B、you C、Thank you D、you Thank 6、int a[3][3]={1,2,3,4,5,6,7,8,9};其中a[1][2]的值为( ) A、3 B、5 C、7 D、6 7、int n=3;d switch(n){ Case 1: printf(“how”);break; Case 2: printf(“are”);break; Case 3: printf(“you”);break; Case 4: printf(“fine”);break; Default:printf(“hello”); } 2017-2018-1 《c语言程序设计》A卷 第 1 页 共5页

执行以上程序后,输出的结果是( ) A、how B、are C、you D、hello 8、int a=5+3%2;执行该语句后,a的值为( ) …………A、4 B、5 C、6 D、7 ○9、在定义int a[10];之后,对a的引用正确的是( )。 A、a[10] B、a[6.3] C、a(6) D、a[10-10] 10、为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。 …………… A、缩排位置相同的if ○ B、在其之前未配对的if C、在其之前未配对的最近的if D、同一行上的if ……………11、程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf(\"%s\\n\的输出是密______。 A、ABCD B、A C、D D、ABCD BCD B C ABC ………………○ CD C B AB D D A A 12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z; ……………… A、x=10, y=20, z=30 B、x=20, y=30, z=30 封 C、x=20, y=30, z=10 D、x=20, y=30, z=20 13、C语言源程序的基本单位是( ) A、程序行 B、语句 C、函数 D、字符 ………………14、char s[15]=”hello”;char *p=s; p++;printf(“%c”,*p);输出的结果为( ) ○A、h B、e C、l D、o 15、以下是用来获取一个字符串的语句为:( ) A、printf(“%s”,s); B、scanf(“%c”,c); C、gets(s); D、puts(s); 二、判断题(请将正确答案写在答题栏里,对的划√,错的划×,每小题1分,共15分) ………………线1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1、字符串的名字代表该字符串的首地址。( ) ……………2、c语言中的输入scanf()和输出printf()函数是在头文件stdio.h中定义的。( ) ○3、函数必须先声明才能使用。( ) 4、要使用字符串处理函数,必须引入头文件string.h。( ) 5、main函数必须有返回值。( ) ……………6、if语句后面必须有else语句( ) ○7、转义字符“\”是用来换行的。( ) 8、continue可以用来退出整个循环。( ) …………2017-2018-1 《c语言程序设计》A卷 第 2 页 共5页 系部: 班 级: 姓 名: 学 号: 系部: 班 级: 姓 名: 学 号: …………○……………○……………密………………○………………封………………○………………线……………○……………○………… 9、数组的下标是从1开始的。( ) 10、如果没有给整型变量赋值,则变量的值为0。( ) 11、c语言是面向对象的语言。( ) 12、c程序文件的扩展名为.c。( ) 13、scanf()是用来获取从键盘输入数据的函数( ) 14、函数必须有返回值。( ) 15、数组中的每个元素的类型必须一样。( ) 三、名词解释(每小题5分,共20分) 1、函数 2、递归 3、标识符 4、static 四、填空题(每空1.5分,共15分) 1、 结构化设计中的三种基本结构是_________、__________、__________。 2、 C语言源程序文件的后缀是___________,经过编译后生成文件的后缀是___________,经过链接后生成文件的后缀是____________。 3、 定义int x,y;执行x=1;y=x++;语句后,y的值是___________。 4、 若执行以下程序段: int a=1,b=2,m=2; m=a>b则m的值是______________。 5、 下述语句执行后, int k=1; while (k<5){k++;}; 变量 k 的值是____________。 6、 定义如下变量的数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d”,x[i][2-i]); 执行以上程序后的输出结果是______________。 五、综合分析题(每小题5分,共20分) 1、求1到100所有整数的和,并输出。 2、从键盘输入一个字符串,求字符串中大写字母和小写字母的个数,并输出个数。 3、定义一个函数求n!(n的阶乘)。 4、定义一个字符串来保存30个同学的英语成绩,从键盘输入成绩,并算出平均成绩,输出这个平均成绩。 ******************************************************************* A卷参考答案 一、单项选择题(本大题20分,每小题2分) 1、C 2、C 3、D 4、C 5、C 6、D 7、C 8、C 9、D 10、C 11、A 12、B 13、C 14、B 15、C 二、判断题(本大题20分,每小题2分) 2017-2018-1 《c语言程序设计》A卷 第 3 页 共5页

1、√ 2、√ 3、√ 4、√ 5、× 6、× 7、× 8、× 9、× 10、√ 11、× 12、√ 13、√ 14、× 15、√ 三、名词解释题(本大题20分,每小题5分) …………○答案: 1、函数就是功能;每一个函数用来实现一个特定的功能;函数的名字应反映其代表的功 能;C程序可由一个主函数和若干个其他函数构成;在设计一个较大的程序时,往往把 它分为若干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定的功……………○ 能。 2、递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调 用是函数本身。递归的目的是简化程序设计,使程序易读。 3、在编程语言中,标识符就是程序员自己规定的具有特定含义的词,比如变量名、常量……………密名、函数名等。 4、static表示静态的意思,当static用到变量名的前面,表示该变量是静态变量,静态变量的值会一直存在,直到整个程序运行结束。当static用到函数名前面表示静态函数。 ………………四、填空题(本大题15分,每空1.5分) ○1、顺序结构 选择结构 循环结构 2、.c .obj .exe 3、1 4、0 5、5 ………………封6、3 5 7 五、综合分析题(本大题20分,每小题5分) 答案: 1、#include void main(){ ………………○ int sum=0; for(int i=1;i<=100;i++){ sum=sum+i; } ………………printf(\"%d\\n\线} 2、 #include ……………#include ○void main(){ char s[30]; printf(\"请输入一个字符串:\\n\"); ……………○gets(s); int n=strlen(s); …………2017-2018-1 《c语言程序设计》A卷 第 4 页 共5页 系部: 班 级: 姓 名: 学 号: 系部: 班 级: 姓 名: 学 号: …………○……………○……………密………………○………………封………………○………………线……………○……………○………… int big=0; int small=0; for(int i=0;i='A'&&s[i]<='Z') big++; else if(s[i]>='a'&&s[i]<='z') small++; } printf(\"大写字母个数为:%d,小写字母个数为%d\\n\} 3、 int fun(int n){ if(n==1)return 1; else return fun(n-1)*n; } 4、 #include void main(){ float score[30]; for(int i=0;i<30;i++){ printf(\"请输入第%d个同学的英语成绩:\\n\scanf(\"%d\} float sum=0; float aver; for(int j=0;j<30;j++){ sum=sum+score[j]; } aver=sum/30; printf(\"平均成绩为:%d\\n\} 2017-2018-1 《c语言程序设计》A卷 第 5 页 共5页

因篇幅问题不能全部显示,请点此查看更多更全内容