C语言程序设计试题附答案3篇

合集下载

《C语言程序设计》试题与答案

《C语言程序设计》试题与答案

《C语言程序设计》试题与答案C语言程序设计试题与答案1. 选择题1) 下列哪个选项是正确的C语言注释的格式?A. /* 注释 */B. / 注释 /C. // 注释D. !注释!答案:C2) 在C语言中,下列哪个选项定义了一个整型变量?A. intB. doubleC. charD. float答案:A3) C语言中,下列哪个选项可以用来声明一个常量?A. constB. staticC. constexprD. volatile答案:A2. 填空题1) C语言中,用来输出字符串的函数是__。

答案:printf2) C语言中,用于从用户输入读取字符的函数是__。

答案:getchar3) C语言中,用于从用户输入读取整数的函数是__。

答案:scanf3. 编程题题目:编写一个C程序,从1加到100并输出结果。

```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {sum += i;}printf("1加到100的结果为:%d", sum);return 0;}```4. 简答题1) C语言中,什么是指针?答:指针是一个变量,它存储了其他变量的内存地址。

2) C语言中,什么是递归函数?答:递归函数是指在函数体内调用自己的函数。

通过递归,函数可以重复执行相同的操作,直到满足终止条件。

3) C语言中,什么是结构体?答:结构体是一种用户自定义的数据类型,它可以将多个不同的数据类型组合在一起,形成一个新的数据类型。

5. 代码分析题题目:请分析以下C语言代码段,并解释其输出结果。

```c#include <stdio.h>void changeValue(int x) {x = 20;}int main() {int x = 10;changeValue(x);printf("x的值为:%d", x);return 0;}```答:代码输出结果为"X的值为:10"。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

C语言程序设计试题集和答案(最终)

C语言程序设计试题集和答案(最终)

第一章根底常识一.填空1.每个C 程序都必需有且仅有一个________函数。

2. C 语言程序开发到执行通常要颠末 6 个阶段即编纂、预处置、________、、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求发生的适合于计算机处置的_________〞。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为初级语言和________两大类。

6. C 语言是由________组成的。

7. C 语言的函数可分为主函数main 、尺度库函数和_________。

8. 一个函数是由两局部组成的,即:________和函数体。

9. 编译是将 C 语言所编写的源程序________成机器代码,也称为成立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,表达了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充实阐扬效力,便利用户使用的系统软件程序,称为操作系统;而为办公自动化〔OA 〕、办理信息系统〔MIS 〕、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式暗示的机器根本指令的调集,是计算机系统独一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言比拟,使用汇编语言来编写程序可以用_______来暗示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处置程序预处置。

14. C 程序的执行均是由执行_________开始。

15.C 语函数体即为包含在{}的局部。

它分为________和为完成功能任务由假设干个句组成的执行局部。

16.C 语言程序中一条简单语句是以________字符作为结束符的。

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。

C语言程序设计模拟试题3(附答案)NEW

C语言程序设计模拟试题3(附答案)NEW

C语⾔程序设计模拟试题3(附答案)NEW《C语⾔程序设计》模拟试卷三⼀、填空题。

(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.⼀个C语⾔⽂件是由若⼲个组成。

3.设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为。

4.若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语⾔关系表达式。

5.若有如下图所⽰五个连续的int类型的存储单元并赋值如下图,a[0]的地址⼩于a[4]的地址。

p和s是基类型为int的指针变量。

请对以下问题进⾏填空。

a[0] a[1] a[2] a[3] a[4](1)若p已指向存储单元a[1]。

通过指针p,给s赋值,使s指向最后⼀个存储单元a[4]的语句是。

(2)若指针s指向存储单元a[2],p 指向存储单元a[0],表达式s-p的值是。

⼆、单项选择题。

(每题2分,共40分)1.设有int x=11; 则表达式(x++ * 1/3) 的值是()。

A) 3 B) 4 C) 11 D) 122.下列程序的输出结果是()。

A) 3 B) 3.2 C) 0 D) 3.07main(){double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(“%d \n”, d*y);}3.下列程序执⾏后的输出结果是(⼩数点后只写⼀位)()。

A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法的是()。

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

C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。

请填空。

int fun( int n){ int m=0,i;for(i=__1_①___; i0)s=a+b;if(a0)if(c0)w=a-b;else t=c;printf("%d,%d,%d\n",s,w,t);}5阅读下面程序:main(){ int s, t, a, b;scanf("%d%d",s=1;t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if (a==b) t=5;else t=2s;printf("s=%d, t=%d", s, t);}6为了使输出结果t=4, 输入量a和b应满足的条件是【】7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。

#include main(){ int a,max=0;scanf("%d",}printf("%d",max);}8执行下面的程序段后,k值是【】。

k=1; n=263;do { k=n%10; n/=10; } while(n);9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。

请填空。

#includemain(){ int a,d,sum;a=2;d=3;sum=0;do{ sum+=a;a+=d;if (【】) printf("%d\n",sum);} while(sumb) a-=b;while (a=0;i--) t=i;printf("%d\n",t);}5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。

6.下面程序段将字符数组b连接到数组a的后面。

main(){char a[20]= ."I am ";char b[]= ."a student.";int i, j;i = strlen(a);for(j =__(8)___; b[j]!='\0'; j++){a[__(9)__] = b[__(10)__];}a[___(11)__] = ___(12)___ ;}7.for(表达式1;表达式2;表达式3)语句组的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。

三、写出程序的运行结果(30分,每题10分)1.写出程序运行后的输出结果。

int f(int b[][4]){int i,j,s=0;for(j=0;j2)i=3-j;s+=b[i][j];}return s;}main( ){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));}2.写出程序运行后的输出结果#includemain(){float x=2,y;if(x2)i=3-j;s+=b[i][j];}return s;}main( ){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a));}162.写出程序运行结果#includemain(){int i=10,j=0;do{j=j+i;i--;}while(i>2);printf("%d\n",j);}523.写出程序运行后的输出结果。

int f(int b[][4]){int i,j,s=0;for(j=0;j2)i=3-j;s+=b[i][j];}return s;}main( ){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}16四、编程(完形填空)(20分,每题10分)1.打印所有水仙花数,所谓水仙花数是指一个三位数,其各位数的立方和等于其本身。

includemain(){int i,j,k,m;for(i=100; i=0;i--) t=i;printf("%d\n",t);}5.在循环语句中,break语句的作用是 (6) ,continue语句的作用是 (7) 。

6.下面程序段将字符数组b连接到数组a的后面。

main(){char a[20]= ."I am ";char b[]= ."a student.";int i, j;i = strlen(a);for(j =__(8)___; b[j]!='\0'; j++){a[__(9)__] = b[__(10)__];}a[___(11)__] = ___(12)___ ;}7.for(表达式1;表达式2;表达式3)语句组的执行顺序是先求解表达式1、再___(13)______、如果成立则执行___(14)____、然后___(15)______。

三、写出程序的`运行结果( 30 分,每题 10 分)1.写出程序运行后的输出结果。

int f(int b[][4]){int i,j,s=0;for(j=0;j2)i=3-j;s+=b[i][j];}return s;}main( ){int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}2.写出程序运行后的输出结果#includemain(){float x=2,y;if(xbook line# His.age选项B中的“”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是 C 。

A、2.5B、2C、1D、3%为求余运算符,该运算符只能对整型数据进行运算。

且符号与被模数相同。

5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=211.如果int a=3,b=4;则条件表达式"aA、 3B、 4C、 0D、1详见教材P97.表达式1?表达式2:表达式3先计算表达式1,若表达式1成立,则选择计算表达式2,并表达式2的值作为整个大表达式的值;若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值此题中的aa为3,b为4。

a12.若int x=2,y=3,z=4 则表达式xA、4B、3C、2D、0E)113.C语言中,关系表达式和逻辑表达式的值是( B ) 。

A、0B、 0或1C、 1D、‘T’或’F’14. 下面( D )表达式的值为4.A、 11/3B、 11.0/3C、 (float)11/3D、 (int)(11.0/3+0.5)14~16题为同一类型详见教材P54~56.(1)相同数据类型的元素进行数算(+、-、/)得到结果还保持原数据类型。

(2)不同数据类型的元素进行数算,先要数据类型,的标准是低精度类型转换为高精度的数据类型。

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要数据类型,将整型数据3转换为3.0,转换后数据类型为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666 选项C,先将整数11类型转换,转换为实型11.0,因此选项C 变为11.0/3,其后计算过程、结果与选项B同选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666类型转换为整型,即将其小数部分全部舍掉,结果为415.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )A、b=1.0/aB、b=(float)(1/A、C、b=1/(float)aD、b=1/(a1.0)16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是(A)A、1B、4C、4.333333D、4.6“(int)f“表示将f中的值类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为117. 以下对一维数组a的正确说明是: DA、char a(10);B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};详见教材P143~144,一维数组的定义、初始化类型符数组名 [常量表达式]类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。

相关文档
最新文档