C语言 大题有答案

合集下载

大学c语言考试题库及答案

大学c语言考试题库及答案

大学c语言考试题库及答案一、选择题1. 下列关于C语言中变量的描述,哪个是正确的?A. 变量必须先定义后使用B. 变量的类型不能改变C. 变量可以在任何地方定义D. 所有变量都必须初始化后才能使用答案:A2. C语言中,一个整数除以另一个整数,结果是什么类型的数据?A. 整数型B. 浮点型C. 长整型D. 无符号整数型答案:A3. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 如果一个指针变量p指向一个int类型的变量,那么表达式*p++的值是什么?A. p指向的变量的当前值B. p指向的变量的下一个值C. p指向的变量的前一个值D. 无定义答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. intB. floatC. voidD. char答案:C二、填空题1. C语言中,________关键字用于定义一个结构体。

答案:struct2. 在C语言中,________运算符用于计算两个整数的乘积。

答案:*3. 当需要频繁修改数组中的元素时,应使用________类型的数组。

答案:动态4. C语言中,________函数用于将字符串s复制到t所指向的内存空间。

答案:strcpy()5. 在C语言中,________关键字用于声明一个无限循环。

答案:for 或 while三、简答题1. 请简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指针使用。

数组的每个元素都可以通过数组名加上索引来访问。

指针变量可以指向数组的第一个元素,并通过指针算术来访问数组的其他元素。

数组的地址可以通过指针传递给函数,从而在函数内部访问数组。

2. 解释C语言中的“宏”是什么,并给出一个使用宏的例子。

答案:宏是C语言中的一个预处理指令,它允许定义一个可以被编译器替换的文本块。

宏通常用于定义常量、简化复杂的表达式或者创建可重复使用的代码块。

C语言考试试题及答案

C语言考试试题及答案

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。

(完整版)C语言题库(带详解答案)

(完整版)C语言题库(带详解答案)

(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。

A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。

A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。

A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。

A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言经典编程100题(答案版)

C语言经典编程100题(答案版)

C语言经典程序100题(答案版)【程序1】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:1.#include"stdio.h"2.#include"conio.h"3.main()4.{5.long int i;6.int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;7.scanf("%ld",&i);8.bonus1100000*0.1;9.bonus2bonus1+100000*0.75;10.bonus4bonus2+200000*0.5;11.bonus6bonus4+200000*0.3;12.bonus10bonus6+400000*0.15;13.if(i<100000)14.bonus i*0.1;15.else if(i<200000)16.bonus bonus1+(i-100000)*0.075;17.else if(i<400000)18.bonus bonus2+(i-200000)*0.05;19.else if(i<600000)20.bonus bonus4+(i-400000)*0.03;21.else if(i<1000000)22.bonus bonus6+(i-600000)*0.015;23.else24.bonus bonus10+(i-1000000)*0.01;25.printf("bonus%d",bonus);26.getch();27.}【程序2】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

C语言试题和答案大全

C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。

A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。

A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。

A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。

A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。

A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。

A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。

A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。

A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。

A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。

(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。

(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。

答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

100个经典c语言例题(带答案)

100个经典c语言例题(带答案)

100个经典c语言例题(带答案)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:m...C语言经典程序100例2009-02-26 19:44 | (分类:默认分类)经典C源程序100例- -1 经典C源程序100例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

大一计算机c语言考试题及答案

大一计算机c语言考试题及答案

大一计算机c语言考试题及答案1. 选择题1) C语言中的关键字是指什么?A) 用来定义变量类型的关键字B) 用来声明函数的关键字C) 用来控制程序流程的关键字D) 用来定义常量的关键字答案:C) 用来控制程序流程的关键字2) 下列哪个不是C语言的基本数据类型?A) intB) floatC) doubleD) bool答案:D) bool3) 在C语言中,以下哪个语句可以用来读取用户输入的整数?A) scanf("%d", &num);B) printf("%d", num);C) gets(num);D) puts(num);答案:A) scanf("%d", &num);4) 下列哪个运算符用于获取变量的地址?A) *B) &C) +D) -答案:B) &5) 下列哪个循环语句只有在循环条件为假时才会执行循环体?A) for循环B) while循环C) do-while循环D) switch语句答案:C) do-while循环2. 填空题1) 在C语言中,用于定义常量的关键字是________。

答案:const2) 以下哪个运算符用于计算两个数的余数?A) *B) /C) +D) %答案:D) %3) 下列代码中,空格处应填写的条件是:if (x ________ 10)答案:>、<、>=、<=、==、!=4) 下列哪个函数用于输出字符串到屏幕?A) scanB) printfC) getsD) puts答案:B) printf5) C语言中用于循环控制的关键字是________。

答案:for、while、do3. 简答题1) 请简述C语言中的数组是什么?答:C语言中的数组是一种用于存储相同类型元素的数据结构。

数组可以通过下标访问其中的元素,下标从0开始计数。

数组的大小在定义时需要指定,一旦定义后大小不能再改变。

C语言试题及答案

C语言试题及答案

C语言试题及答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. 回车符B. 冒号C. 逗号D. 分号(2) 在 C 语言中,每个语句必须以 D 结束。

A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。

A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。

A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。

A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 37 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

C语言经典练习题50道(附答案)

C语言经典练习题50道(附答案)

1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。

#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。

大一学生c语言考试题及答案

大一学生c语言考试题及答案

大一学生c语言考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义`int a[5] = {1, 2, 3, 4, 5};`,则`a[0]`的值是多少?A. 0B. 1C. 2D. 3答案:B3. 在C语言中,以下哪个函数用于计算两个整数的乘积?A. max()B. min()C. pow()D. multiply()答案:D4. 若`x`和`y`均为`int`类型,则表达式`(x = 2, y = x + 1)`的值是多少?A. 2B. 3C. 4D. 5答案:B5. C语言中,以下哪个运算符用于计算两个数的指数?A. ^B.C. *D. /答案:B6. 若有定义`int a = 10;`,则执行`a += 5;`后,`a`的值是多少?A. 10B. 15C. 25D. 5答案:B7. 在C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C8. 若有定义`float x = 3.14;`,则`x`的类型是什么?A. intB. floatC. doubleD. char答案:B9. 在C语言中,以下哪个运算符用于字符串连接?A. +B. +=C. ==D. !=答案:A10. 若有定义`char c = 'A';`,则执行`c += 1;`后,`c`的ASCII值是多少?A. 65B. 66C. 67D. 68答案:C二、填空题(每题2分,共20分)1. C语言中,`printf`函数用于__输出__数据到屏幕。

答案:输出2. 若`int a = 5;`,则`sizeof(a)`的值是__4__。

答案:43. 在C语言中,`%d`用于格式化输出__整型__变量。

答案:整型4. 若`float b = 3.14;`,则`b`的类型是__浮点型__。

大一c语言考试题及答案

大一c语言考试题及答案

大一c语言考试题及答案一、选择题(每题5分,共40分)1. 下面哪个选项是C语言的关键字?A. mainB. intC. voidD. all of the above答案:D2. 在C语言中,用于表示字符类型的是:A. charB. intC. floatD. double答案:A3. 下面哪个运算符用于求一个数的余数?A. %B. /C. *D. -答案:A4. 下面哪个关系运算符用于判断两个值是否相等?A. ==B. !=C. >D. <=答案:A5. 下面哪个循环结构可以先判断条件,再执行循环体?A. forB. whileC. do-whileD. switch答案:C6. 在C语言中,用于定义常量的关键字是:A. constB. finalC. staticD. define答案:A7. 下面哪个函数库中包含了输入输出函数的定义?A. stdio.hB. math.hC. conio.hD. string.h答案:A8. 表达式x += 5; 的结果是什么?A. 等价于 x = x + 5;B. 等价于 x = x - 5;C. 等价于 x = x * 5;D. 等价于 x = x / 5;答案:A二、填空题(每空5分,共30分)1. C语言的标准输入输出函数是_______。

答案:printf、scanf2. 定义一个整型变量x并给其赋值为10的语句是_______。

答案:int x = 10;3. 在C语言中,使用/* */注释形式的注释是_______。

答案:多行注释4. 下划线开头的标识符在C语言中代表_______。

答案:系统保留(不建议使用)5. 在C语言中,没有返回值的函数的返回类型应该是_______。

答案:void6. 下面输出语句的格式控制符是_______。

printf("The value of x is: %d", x);答案:%d三、编程题(共30分)题目:编写一个程序,从键盘输入三个整数,然后输出其中的最大值。

大一c语言考试题及答案

大一c语言考试题及答案

大一c语言考试题及答案一、选择题(每题4分,共40分)1.以下哪个选项不是C语言的关键字?A. intB. voidC. stringD. char答案:C. string2.以下关于数组的说法,正确的是:A. 数组可以存储不同类型的数据B. 数组的大小在定义时必须确定C. 数组的下标从1开始计数D. 数组的元素个数可以动态改变答案:B. 数组的大小在定义时必须确定3.以下哪个选项表示C语言中的循环结构?A. forB. toC. switch答案:A. for4.以下关于指针的说法,错误的是:A. 指针是一个变量,用来存储内存地址B. 指针可以指向任意类型的数据C. 指针变量在定义时必须初始化D. 指针运算符是"*"答案:C. 指针变量在定义时必须初始化5.以下关于函数的说法,正确的是:A. 函数可以没有返回值B. 函数不可以调用其他函数C. 函数只能定义在主函数内部D. 函数参数可以有多个返回值答案:A. 函数可以没有返回值6.以下哪个选项表示C语言中的条件判断结构?A. repeatB. whileC. do答案:D. if7.以下关于结构体的说法,错误的是:A. 结构体可以包含不同类型的数据B. 结构体可以作为函数参数传递C. 结构体可以动态改变大小D. 结构体的访问符号是"."答案:C. 结构体可以动态改变大小8.以下哪个选项表示C语言中的跳转语句?A. stopB. endC. goD. break答案:D. break9.以下关于文件操作的说法,正确的是:A. 读文件使用fopen函数B. 写文件使用fgets函数C. 关闭文件使用fclose函数D. 文件操作不需要考虑错误处理答案:C. 关闭文件使用fclose函数10.以下哪个选项不是C语言的预处理指令?A. #includeB. #defineC. #ifdefD. #switch答案:D. #switch二、填空题(每题6分,共30分)1.C语言中的基本数据类型有________、________、________、________。

c语言考试题及答案大一

c语言考试题及答案大一

c语言考试题及答案大一一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. #答案:D3. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1,2,3};B. int arr[] = {1,2,3};C. int arr[5] = {1,2,3,4,5,6};D. int arr = {1,2,3};答案:B7. 在C语言中,以下哪个关键字用于定义一个指针?A. ptrB. refC. *D. &答案:C8. 下列哪个选项是C语言中正确的注释方式?A. /* This is a comment */B. // This is a commentC. # This is a commentD. //* This is a comment答案:A9. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. sprintfB. printfC. scanfD. atoi答案:A10. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freopenD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以进行取模操作。

c语言考试试题及答案

c语言考试试题及答案

c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。

答案:const2. 在C语言中,用于输出结果到控制台的函数是____。

答案:printf3. C语言中,用于读取用户输入的函数是____。

答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。

答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。

答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。

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

复习题一.选择题1.以下选项中正确的常量是( A )(A)12 (B)0.329*10^2 (C)1,000 (D) 4 5 62.以下选项中不合法的用户标识符是( C )(A)title (B)A7s (C)7ab (D) PRINTF3.下列选项中,不合法的标识符是( D)(A) _1234_ (B) _1_2 (C) int_2_ (D) 2_int_4.以下符合C语言语法的实型常量是( C )(A) 1.2E0.5 (B) 3.14.159E (C) .5E-3 (D) E155.下列字符中,ASCII码值最大的是( D )(A)A (B)a (C)X (D)x6.C语言提供的合法的关键字是( D )(A)swicth (B)Char (C)Case (D)short7.在C语言中,合法的字符常量是( A )(A)'\030' (B)'\o89' (C)'ab' (D)"\0"*8.若已定义x和y为double类型,则表达式:x=1,y=x十3/2的值是(C )(A)1.0 (B)2 (C)2.0 (D)2.59. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是(C)(A) c=b=a;(B) (a=c)||(b=c) ;(C) (a=c) &&(b=c);(D) a=c=b;10. C语言中,int类型数据占2个字节,则long类型数据占字节数( C)(A) 1 (B) 2 (C) 4 (D) 811.在以下一组运算符中,优先级最高的运算符是( C )(A)<= (B)= (C)% (D)&&12. 以下所列的C语言常量中,错误的是( B )(A) 0xFF (B) 1.2e0.5 (C) 2L (D) '\72'13. 下列选项中,合法的C语言关键字是( D )(A) VAR (B) cher (C) integer (D) default14.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( C)(A) -3 (B) 9 (C) -12 (D) 615. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )(A) 不定值(B) 4 (C) 3 (D) 116.有以下程序段:【int k=0;while(k==1)k++;】while 循环执行的次数是( C)(A) 无限次(B) 有语法错,不能执行(C) 一次也不执行(D) 执行1次17.有以下程序段:【int x=3;do{ printf("%d",x-=2); }while (!(--x)); 】,其输出结果是( C )(A) 1 (B) 30 (C) 1-2 (D) 死循环18.合法的数组定义是( D )(A)int a[]="abcdef"; (B)int a[3]={0,1,2,3};(C)char a ="abcdef"; (D)char a[]={0,1,2,3};*19.设a为整型变量,不能正确表达数学关系:5<a<10 的C语言表达式是( A)(A)5<a<10 (B)a==6||a==7||a==8||a==9 (C)a>5&&a<10 (D)!(a<=5)&&!(a>=10)*20.若t为double类型,表达式t=2,t+5,t++的值是( D )(A)2 (B)7.0 (C)3.0 (D)2.021.语言中运算对象必需是整型的运算符是( C )(A)+ (B)/ (C)% (D)**22.以下是C语言语句的是( A )(A) a++;(B)a=a+7 (C) int b (D) printf(“ABCD”)23. C语言中double 类型变量所占字节数是( D )(A)16 (B)2 (C)4 (D)824.若a、b、c、d都是int 类型变量且初值为0,以下选项中不正确的赋值语句是( C)(A)a=c+d;(B)d--;(C)a=b+c=c+d;(D)a=(c=22)-(b++);25.为表示关系 x>y>z,应使用的C语言表达式是( D )(A)(x>y)&(y>z)(B)(x>y)AND(y>z) (C)(x>=y>=z) (D)(x>y)&&(y>z)26.C语言中,字符(char)型数据在微机内存中的存储形式是( B )(A)反码(B)ASCII码(C)EBCDIC码(D)、原码27.语言中的基本数据类型有(D )(A)整型、实型、逻辑型、字符型(B)整型、实型、逻辑型(C)整型、字符型、逻辑型(D)整型、实型、字符型28.以下函数调用语句func(exp3, (exp4,exp5));中,含有的实参个数是( B )(A)1 (B)2 (C)3 (D)529.若有定义: int x, *pb; 则以下正确的赋值表达是(A)(A)pb=&x (B)pb=x (C)*pb=&x (D)*pb=*x*30.若有定义 int *p, a[5];且p已指向a[0],则执行完p++后 ,p指向下列哪一数组元素( B )(A)a[0] (B)a[1] (C)a[2] (D)a[3]31、若int w=4,x=3,y=2,z=1;则表达式w<x?w:z<y?z:x的值是( A )(A)1 (B)2 (C)3 (D)432. 当调用函数时,实参是一个数组名,则向函数传送的是(B )(A) 数组的长度 (B) 数组的首地址(C) 数组每一个元素的地址(D) 数组每个元素中的值33.以下能正确定义二维数组的是( C )(A) int a[][3]; (B) int a[][3]=2{2*3};(C) int a[][3]={{1},{3,4}};(D) int a[2][3]={{1},{2},{3,4}};34. 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的地址的是( C )(A) &aa[0]+1 (B) &aa[1] (C) &aa[0]++ (D) aa+135.若有以下定义:char str[20]="programming",* p= str;则不能代表字符g的表达式是( A) (A)p+3 (B)str[3] (C)p[3] (D)p+=3,* p36.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},* p=a;则不能表示a数组元素的表达式是( B )(A)* p (B)a[10] (C)* a (D)a[p-a]37.若有以下的定义:int s[]={3,4,5,6,7,8,9,10,11,12},* p=s;则值为8的表达式是( A ) (A)p+=5,*(p++)(B)p+=5,*++p(C)p+= 6,* p++ (D)p+=5,++ * p38.若有定义和语句: int a[5][10],(* p)[10];p=a,则对a数组第一元素的正确引用是(C )(A)*(a[0]+2)(B)*(p+1)(C)p[0][0] (D)*(p[1]+2)39.函数调用:strcat(strcpy(str1,str2),str3)的功能是( C )(A)将串str1复制到串str2中后,再连接到串str3之后(B)将串str1连接到串str2之后,再复制到串str3之后(C)将串str2复制到串str1中后,再将串str3连接到串str1之后(D)将串str2连接到串str1之后,再将串str1复制到串str3中*40.以下对C语言函数的有关描述中,正确的是( A )(A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参(B)C函数既可以嵌套定义又可以递归调用(C)函数必须有返回值,否则不能使用函数(D)C程序中有关调用关系的所有函数必须放在同一个源程序文件中41.在下列给数组赋初值语句中,( C )是错误的。

A.int a[]={1,2,3,4,5}; B.int b[5]={1,3,5}; C.int c[3]={1,3,5,7}; D.int d[]={3,5,6,7}; 3.已知:char s[5],在下列给字符数组元素赋值语句中,( B )是错误的。

A.s[0]=’m’; B.s[5]=’n’; C.s[1]=’a’; D.s[2]=’b’; 42.下列各表达式中,( D )表达式值为0。

A.!0 B.1&&1||0 C.3>5?0:1 D.5/1543.已知:int a,b;,下列表示中,( D )是语句。

A.cout<<’\n’B.a=17 C.a+b D.;44.下列关于开关语句的描述中,( C )是正确的。

A.开关语句中default子句是可以省略的B.开关语句中case子句的语句序列中必须包含break语句C.开关语句中case子句后面的表达式可以是整型表达式D.开关语句中case子句的个数不能过多45.下列各种不同存储类的变量,( B )类变量定义时需要初始化或赋值,否则其变量值是无意义的。

A.内部静态B.自动C.外部静态D.外部46.已知:int a,*pa=&a;,则&*pa与( B )不相同。

A.pa B.a C.&a D.&pa[0]47.已知:int a,*pa;char c,*pc;,下列赋值中( D )是合法的。

A.pa=&c B.pc=&a C.pa=pc D.pa=(int *)&c48.已知:int a[]={1,2,3,4,5},*p=a;,下列数组元素地址的表示中( C )是正确的。

A.&(a+1) B.&(p+1) C.&p[2] D.*p++*49.已知:int a[3][4],(*p)[4];,下列赋值表达式中( B )是不正确的。

A.p=a+2 B.p=a[1] C.p=*a D.p=*a+250.预处理命令在程序中是以( B )开头的。

A.* B.# C.? D./*51.下述break语句的描述中,( D )是不正确的。

A.break语句用于循环体内,它将退出该循环B.break语句用于开关语句,它表示退出该开关语句C.break语句用于if语句体内,它表示退出if语句D.break语句在一个循环体内可使用多次52.已知:int m[3],*p=m;,则++*p与(D )相同。

相关文档
最新文档