C程序设计期末考试习题(含答案)

合集下载

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

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语言程序设计期末试题B及答案

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。

不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。

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

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语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。

以下是考试题目及参考答案。

一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案考试时间:3小时满分:100分一、选择题(每题2分,共20分)1. 下列哪个不是C语言的关键字?A. intB. floatC. doubleD. printf答案:D2. 在C语言中,用于判断两个数是否相等的运算符是:A. >B. <C. ==D. >=答案:C3. 下面哪个选项是正确的函数声明方式?A. void sum(int a, b);B. int multiply(int x, int y);C. add(int a, int b);D. double divide(int a, int b);答案:B4. 下面哪个函数原型声明是错误的?A. void calculate(int a, int b);B. int calc(int x);C. int comp(float x, float y);D. double calculate(int x, int y);答案:D5. 在C语言中,用于循环执行某段代码的关键字是:A. ifB. elseC. switchD. while答案:D6. 下面哪个选项是正确的数组声明方式?A. int[5] numbers;B. numbers[5] int;C. int numbers[5];D. array = int[5];答案:C7. 在C语言中,用于读取用户输入的函数是:A. puts()B. scanf()C. print()D. read()答案:B8. 下列哪个运算符用于访问结构体成员?A. .B. ,C. :D. ;答案:A9. 在C语言中,用于定义常量的关键字是:A. defineB. constantC. constD. variable答案:C10. 下面哪个选项是正确的条件语句?A. if (x > 10) { printf("x大于10"); }B. if x > 10 { printf("x大于10"); }C. if x > 10 printf("x大于10");D. if x > 10 then printf("x大于10");答案:A二、编程题(共80分)题目一:请编写一个C语言程序,要求从键盘上输入一个整数n,然后计算并输出1到n之间所有整数的和。

C语言程序设计期末考试复习题及答案

C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。

switch(i+1){ case 10: i++。

break。

case 11: ++i。

case 12: ++i。

break。

default : i=i+1。

}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。

中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。

对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。

则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。

函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用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'。

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案一、单项选择题。

从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内(每小题1分,共计30分)。

1.一个C 语言程序的执行是从()。

A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是()。

A )switchB )printfC)default D )case3.设有语句inta=4;,则执行了语句a+=a-=a*a;后,变量a 的值是()。

A )24B )-24C )4D )164.已知inti;floatd;,则正确的表达式是()。

A )(intd)B )int(d)%iC )(int)d%iD )int(d%i) 5.已知inti,a;,执行语句i=(a=3*9,a/5),a+11;后,变量i 的值是()。

A )5 B )16C )27D )386.下列选项中合法的字符型常量是()。

A )"a"B )'\n'C )7.下面程序的运行结果是()。

#include<stdio.h> voidmain() {intk=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,以下不正确...的输入形式是()。

A )10B )10C )10,20,30D )102020203030 309.已知intx=1,y=2,z=3;,执行下列程序段后,输出的结果是()。

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

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

C语言程序设计期末考试试题及答案一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将正确答案的选项填入答题卡中的相应位置中。

每小题3分,共48分)1、以下合法的标识符为()A.3abB.intC.A-4D.Main2、已知int a=5; 则执行a+=a-=a*a;语句后,a的值为A)0 B)-40 C)10 D)-603、如果要把数值327存入变量a中,a不可以定义成什么类型()A.intB.charC.longD.float4、以十六位字长为基准,十进制数-123,则其机内码表示为()。

A)1000000000000100 B)1000000001111010C)-000000001111011 D)11111111100001015、执行下面程序段后,输出结果是______.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 16 若变量已正确定义并赋值,以下符合C语言语法的表达式是()。

A)a:=b+1 B)a=b=c+2 C)int 11.5%3 D)a=a-9=c 7以下选项中不能用作C程序合法常量的是A)1,234 B)'\123' C)123 D)01238下面程序段的运行结果是。

int n=0;while(n++<=2);printf("%d",n);A)2 B)3 C)4 D)语法错误9下面程序的执行结果是()main(){int x=017;printf("%d",x--);}A.14B.15C.16D.1710 已知int i,a;执行语句i=(a=4,a++,--a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)511若有语句:int a,b;scanf("%d;%d",&a,&b);如果把整数4赋给a,把整数5赋给b,应该输入()。

C语言程序设计(期末考试)

C语言程序设计(期末考试)

C语言程序设计(期末考试)选择题,每空一分(共80题)1.C语言程序是由()构成的。

A)一些可执行语言B)main函数C)函数(正确答案)D)包含文件中的第一个函数2.()是构成C语言程序的基本单位。

A、函数(正确答案)B、过程C、子程序D、子例程3.C语言程序从()开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数(正确答案)D)包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在()。

A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置(正确答案)5、以下说法中正确的是()。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行(正确答案)D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是()。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

(正确答案)7.下列说法错误的是()A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

(正确答案)C.C语言的三种基本结构是顺序、选择、循环。

D.C程序一定由函数构成的。

8.下列关于C语言的说法错误的是()。

A.C程序的工作过程是编辑、编译、连接、运行B.C语言不区分大小写。

(正确答案)C.C程序的三种基本结构是顺序、选择、循环D.C程序从main函数开始执行9.VC默认的C语言源程序扩展名为.CPP,需经过()之后,生成.exe文件,才能运行。A)编辑、编译B)编辑、连接C)编译、连接(正确答案)D)编辑、改错10.下列说法中正确的是()。

A.由于C源程序是高级语言程序,因此一定要在VC软件中输入。

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

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

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,下列哪个选项是合法的数据类型?A. intB. floatC. characterD. string2. 关于C语言中的变量,以下哪个说法是正确的?A. 变量可以在程序中的任何位置声明B. 变量在使用前必须先声明C. 变量不能重复声明D. 变量的作用域可以是全局的,但不能是局部的3. 在C语言中,以下哪个操作符用于取模?A. %B. /C.D. &4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. class二、填空题(每题2分,共20分)6. 在C语言中,标准输入输出头文件是_________。

7. 一个整型变量占用_________个字节。

8. 如果一个整型变量声明为`int a = 5;`,那么`printf("%d", a++);`的输出是_________。

9. 在C语言中,函数返回值的类型默认是_________。

10. 指针是一种特殊类型的变量,用于存储_________的地址。

三、编程题(共40分)11. 编写一个C程序,实现一个简单的计算器,包括加、减、乘、除四种运算。

12. 编写一个C程序,实现一个函数,该函数接受一个整数数组和一个整数n,返回数组中与n相等的元素个数。

13. 编写一个C程序,实现一个结构体`Student`,包含学生的姓名、学号和成绩。

编写一个函数,输入学生的信息并打印出来。

### 答案一、选择题答案1. A. int2. B. 变量在使用前必须先声明3. A. %4. A. malloc()5. A. struct二、填空题答案6. stdio.h7. 48. 59. int10. 变量三、编程题答案11. 计算器程序示例:```c#include <stdio.h>int main() {char operator;double firstNumber, secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf", &firstNumber, &secondNumber);switch(operator) {case '+':printf("%.1lf + %.1lf = %.1lf", firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf - %.1lf = %.1lf", firstNumber, secondNumber, firstNumber - secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf", firstNumber, secondNumber, firstNumber secondNumber);break;case '/':if(secondNumber != 0.0)printf("%.1lf / %.1lf = %.1lf", firstNumber, secondNumber, firstNumber / secondNumber);elseprintf("Divide by zero situation.");break;default:printf("Error! operator is not correct");}return 0;}```12. 数组中与n相等的元素个数函数示例:```c#include <stdio.h>int countOccurrences(int arr[], int n, int size) {int count = 0;for (int i = 0; i < size; i++) {if (arr[i] == n) {count++;}}return count;}int main() {int arr[] = {1, 2, 3, 4, 5, 2, 2};int n = 2;int size = sizeof(arr) / sizeof(arr[0]);int count = countOccurrences(arr, n, size);printf("Number of occurrences of %d is %d", n, count);return 0;}```13. 学生信息结构体及打印函数示例:```c#include <stdio.h>typedef struct {char name[50];int studentID;float grade;} Student;void printStudentInfo(Student student) {printf("Name: %s\n", );printf("Student ID: %d\n", student.studentID); printf("Grade: %.2f\n", student.grade);}int main() {Student student;printf("Enter name: ");scanf("%s", );printf("Enter student ID: ");scanf("%d", &student.studentID); printf("Enter grade: ");scanf("%f", &student.grade);printStudentInfo(student);return 0;}```。

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

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

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定 6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h> main(){ int x; float y; scanf("%3d%f",&x,&y); }A、12345B、123C、45D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( ) #include<stdio.h> { int i=10,j=10; printf("%d,%d\n",++i,j--); }A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include<stdio.h> main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,89 11、下列运算符中优先级最高的是( )A、<B、十C、%D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

C程序设计期末考试习题(含答案)

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A)_1234_ B)_1_2 C) int_2_ D) 2_int_3。

以下定义语句中正确的是( )。

A) char a='A’b='B’; B)float a=b=10.0;C) int a=10,*b=&a;D)float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。

A) a++; B)b++ C)c++;D)d++;5。

以下4个选项中,不能作为一条C语句的是( ).A) {;}B) a=0,b=0,c=0; C)if(a〉0); D) if(b==0) m=1;n=2;6。

有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A)a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D)w=a==b;7。

设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A)p=1; B)*q=2;C) q=p;D)*p=5;8。

设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()。

A) scanf(“%d",pa) ; B) scanf(“%d”,a);C) scanf(“%d",&pa);D) scanf(“%d”,*pa);9。

c程序设计大学期末考试题及答案

c程序设计大学期末考试题及答案

c程序设计大学期末考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. floatC. returnD. void答案:D2. 在C语言中,以下哪个运算符用于逻辑与操作?A. &&B. ||C. !D. %答案:A3. 若有定义int a=5;,则表达式a++的值为多少?A. 4B. 5C. 6D. 0答案:B4. 在C语言中,以下哪个函数用于计算字符串的长度?A. strcatB. strcmpC. strcpyD. strlen答案:D5. 下面哪个选项是C语言中的合法整型常量?A. 0x12B. 0x1zC. 0x1.2D. 0x1.2e答案:A6. C语言中,以下哪个选项是正确的二维数组声明?A. int a[3,4];B. int a[3][4];C. int a[3][];D. int a[][];答案:B7. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World!"D. 'Hello World!'答案:A8. 若有定义char c='A';,则表达式c+32的值为多少?A. 65B. 97C. 66D. 98答案:B9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int age; char name[20];} stu;B. struct {int age; char name[20];} stu;C. struct Student {int age; char name[20];} stu[];D. struct {int age; char name[20];} stu[];答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. *int p;C. int *p[];D. int (*p)[];答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个无返回值的函数的关键字是________。

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。

#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

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

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。

A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。

A)字符B和字符P B) 字符串FORTRAN和字符串BASICC)字符F和字符B D) 字符串BASIC和字符串PASCAL10.执行语句for(i=1;i++<4;);后变量i的值是( )。

A) 3 B)4 C) 5 D) 不定一、填空题(每空2分,共18分)1.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为。

2.有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 则b中的值是。

3.函数swap(int x,int y)实现对x和y值的交换。

则执行语句{int a[2]={1,2}; swap(a[0],a[1]);}后,a[0]= ,a[1]= 。

4.设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)后,k的值是。

5.书写语句求a, b两个数的最大值max。

? : ;6.若x为int型变量,则执行x=7; x+=x-=x+x; 语句后,x的值是。

二、读程序写结果(每题6分,共24分)1.有以下程序int f(int a){ int b=0;static c=3;b=b+1;c=c+1;return(a+b+c);}void main(){ int a=2,i;for(i=0;i<3;i++) printf(“%2d”,f(a));}执行后输出的结果是。

2.有以下程序void f(int y,int *x){ y=y+*x; *x=*x+y;}void main( ){ int x=2,y=4;f(y,&x);printf(“x=%d,y=%d\n”,x,y);}执行后输出的结果是。

3.有以下程序#define LETTER 1#include <stdio.h>void main(){ char str[20]="C Language", c;int i=0;while((c=str[i])!='\0'){ i++;#ifdef LETTERif(c>='a' &&c<'z')c=c+1;else if(c=='z') c=c-25;#elseif(c>='B'&&c<='Z')c=c-1;else if(c=='A') c=c+25;#endifprintf("%c",c); } }执行后输出的结果是。

4.有以下程序void fun(int *a,int i,int j){ int t;if(i<j){ t=a[i];a[i]=a[j];a[j]=t;i++; j--;for(i=0;i<4;i++) printf("%2d",a[i]);fun(a,i,j);}}void main(){ int x[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++) printf("%2d",x[i]);printf("\n");}执行后输出的结果是。

四、程序填空(每空1分,共8分)下面程序的功能是:计算从命令行中输入的第2个参数开始的所有参数中是回文字符串的参数个数。

(顺读和倒读都一样的字符串称为“回文”,如“level”就是回文)请填空。

#include <stdio.h>【1】int sumhw( char **p,int n);char jughw(char *str);void main(int argc,char *argv[]){ int s;if (argc<2) printf("请输入有效参数");else{ s=sumhw( 【2】,argc-1);printf("共有%d个回文串\n",s);}}int sumhw(char **p,int n){ char flag;int i,sum=0;for(i=0;i<n;i++){ flag=jughw( 【3】);if ( 【4】) sum++;}return sum;}char jughw(char *str){ char *p1,*p2;int n;n=strlen(str);p1=str;p2= 【5】;while( 【6】){ if(*p1!=*p2) break;else {p1++; 【7】;}}if( 【8】) return('N');else return('Y');}五、编程题(30分)1.用指针和数组两种方法实现如下功能:将一个字符串按逆序存放。

(18分)要求(1)主函数中完成输入和输出字符串。

(2)逆序存放功能用子函数完成。

2.一个整型数组有10个元素,编写程序删除所有值为n的元素。

(12分)要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。

(2)删除功能用子函数完成。

C语言模拟试卷一参考答案一、单项选择题(选择一个最佳答案,每题2分,共20分)1、A2、D3、C4、B5、D6、C7、D8、A9、A10、C二、填空题(每空2分,共18分)1、2.5000002、93、1 24、285、(a>b)max=a max=b6、-14三、读程序写结果(每题6分,共24分)1、7 8 92、x=8,y=43、C Lbohvbhf4、8 6 1 2 8 6 1 2四、程序填空(每空1分,共8分)【1】#include<string.h>【2】argv+1【3】*(p+i)【4】flag= =’Y’【5】str+n-1【6】p1<p2【7】p2--【8】p1<p2五、编程题(共30分)1. (1)数组法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char str[],int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char str[],int n){int i,j,temp;for(i=0,j=n-1;i<=j;i++,j--) {temp=str[i];str[i]=str[j];str[j]=temp;}}(2)指针法(9分)#include <string.h>#include <stdio.h>#define N 20void inv(char *str,int n);void main(){char str[N];gets(str);inv(str,strlen(str));puts(str);}void inv(char *str,int n){char *i,*j,temp;for(i=str,j=str+n-1;i<=j;i++,j--) {temp=*i;*i=*j;*j=temp;}}2.(12分)#include <stdio.h>int m;void del_element(int num[],int n); void main(){int num[10];int i,n;m=10;for(i=0;i<10;i++)scanf("%d",&num[i]);printf("please input n\n"); scanf("%d",&n);del_element(num,n);for(i=0;i<m;i++)printf("%d ",num[i]);}void del_element(int num[],int n) {int i,j;for(i=0;i<m;i++)if(num[i]==n){for(j=i+1;j<m;j++)num[j-1]=num[j];m--;i--;}}c语言程序设计期末试题B(含答案)一单项选择题(每小题1分,共10分)1.以下4组用户定义标识符中,全部合法的一组是()A)_total clu_1 sumB)if -max turbC)txt REAL 3COMD)int k_2 _0012.以下程序的输出结果是()#include <stdio.h>main( ){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 33.以下正确的叙述是()A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是()A)scanf("%d",pa); B)scanf("%d",a);C)scanf("%d",&pa); D)scanf("%d",*pa);5.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A) 0 B) 0.5 C) 1 D) 26.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0 D)a>=10‖a<=07.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是()main( ){int a,b,c,d;scanf(“%d,%d,%d%d”,&a,&b,&c,&d);…}A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 48.有以下程序段main( ){int k=0;while(k=1) k++;}则while循环执行的次数是()A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次9.以下程序的输出结果是()#include <stdio.h>main( ){int a = 5, b = 4, c = 6, d;printf(“%d”,d=a>b?(a>c?a:c): b);}A) 5 B) 4 C) 6 D) 不确定10.下面是对数组a的初始化,其中不正确的是()A)a[5]={"ABCD"} B)a[5]={'A','B','C','D'}C)a[5]="" D)a[5]="ABCDE"二、填空题(每空2分,共32分)1.结构化程序设计中的三种基本结构是[1] 、[2] 、[3] 。

相关文档
最新文档