c语言试题100道

合集下载

c语言编程题库100题,

c语言编程题库100题,

c语言编程题库100题,单项选择题1.有char c=’1’,下面说法中正确的是()。

A. 语句putc+2);的输入结果为51B. 语句put“%d”,c+2);的输出结果为3C. 语句put“%c”,c+2);的输入结果为51D. 语句put“%c”,c+2);的输出结果为32.设c1,c2均就是char型变量,则下面不恰当的函数调用为()。

A. scanf(”c1=2=%c”,&c1,&c2);B. get);C. putc2);D. putc1,c2);3.为了表示关系x>=y>=z,下面C语言表达式中正确的是()。

A. (x>=y)&&(y>=z)B. (x>=y)and(y>=z)C. (x>=y>=z)D. (x>=y)&(y>=z)4.设x,y,z,t为int型变量,则继续执行以下语句后,t的值()。

x=y=z=1;t=++x||++y&&++z;A. 不定值B. 2C. 1D. 05.对if语句中表达式的类型,下面正确的说法是()。

A. 必须就是关系表达式B. 必须是关系表达式或逻辑表达式C. 可以就是任一表达式D. 必须是关系表达式或算术表达式6.对for(表达式1;;表达式3)可以认知为()。

A. for(表达式1;0;表达式3)B. for(表达式1;表达式1;表达式3)C. for(表达式1;1;表达式3)D. for(表达式1;表达式3;表达式3)7.执行语句for(i=1;i++<4;);之后,变量i的值为()。

A. 3B. 4C. 5D. 不确定8.若二维数组a存有m列,则在a[i][j]前的元素个数为()。

A. j*m+iB. i*m+jC. i*m+j-iD. i*m+j+19.下面说法中正确的是()。

A. 在C语言中,可以采用动态内存分配技术,定义元素个数气门的数组B. 在C语言中,数组元素的个数可以不确定,允许随即变动C. 在C语言中,数组元素的数据类型可以不一致D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数10.无法把字符串:“good!”参数值数组b的语句就是()。

C语言100练习题

C语言100练习题

C语言百道练习题一、填空题1.C源程序的基本单位是【函数】。

2.一个C源程序至少应该包含一个【main函数】。

3.在一个C源程序中,注释用的分界符是【//】或【/* */】。

4.在C语言中,标准输入操作的库函数是由【scanf()】完成的,标准输出操作的库函数是由【printf()】完成的。

5.在C语言中,标识符只能由【字母】、【数字】和【下划线】组成,且首字符必须是【字母或下划线】。

6.x为double类型,代数式的C语言表达式是【sqrt(pow(sin(x),2.5))】。

7.数学中一元二次议程的求根公式的C语言表达式为(-b+sqrt(b*b-4*a*c) )/(2*a) 或(-b-sqrt(b*b-4*a*c) )/(2*a) 。

8.梯形的面积公式的C语言表达式为 1.0/2*(a+b)*h 。

9.已知:char a=' a',b=' b',c=' c',i;(已知a的ASCII码值为97)则表达式i=a+b+c的值为294 。

10.C语言中,指针运算符有* 和& 两个。

11.已知int a=12,n=5;则:表达式运算后a和n的值各为0,0 。

a+=aa-=2a*=2+3a/=a+an%=(n%=2)a+=a-=a*=a12.复合语句是用一对{ } 界定的语句块。

13.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include <stdio.h> 。

14.C语言提供三种逻辑运算符,按优先级高低它们分别是! ,&& ,|| 。

15. 将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式(y%4==0&&y%100!=0) ||(y%400==0) 。

16. 已知A=7.5,B=2,C=3.6,表达式A>B && C>A || A<B && !C>B的值是F/假。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。

2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。

3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。

4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。

5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。

6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。

7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。

8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。

9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。

10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。

11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。

......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。

你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。

每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。

如果遇到问题,可以参考相关的解法或向他人寻求帮助。

通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。

祝你编程愉快!。

100条经典C语言笔试题目(全)

100条经典C语言笔试题目(全)

100条经典C语言笔试题目1、请填写bool,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE 或者“空指针”。

例如int变量n与“零值”比较的if语句为:if ( n == 0 )if ( n != 0 )以此类推。

(1)请写出 bool flag 与“零值”比较的 if 语句:【标准答案】if ( flag )if ( !flag )(2)请写出 float x 与“零值”比较的 if 语句:【标准答案】 const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

(3)请写出 char *p 与“零值”比较的 if 语句【标准答案】 if (p == NULL)if (p != NULL)2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。

char str[] = “Hello” ;char *p = str ;int n = 10;请计算(1)sizeof (str ) =(2)sizeof ( p ) =(3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) {……;} 请计算 sizeof( str ) = (5)void *p = malloc( 100 );请计算sizeof ( p ) =【标准答案】(4)4、(5)43、 long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。

4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针 ;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20.data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52。

C语言100题

C语言100题

C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

C语言基础选择题100道(附答案)01

C语言基础选择题100道(附答案)01

C语⾔基础选择题100道(附答案)011. 以下选项中可⽤作 C 语⾔合法⽤户标识符的是A) 2aB)voidC)-abcD) _123答案:D2. 以下选项中合法的 C 语⾔赋值语句是A)++i;B)a=b=34C)a=3,b=9D)k=int( a+b );答案:A3. 有以下程序段,其中的变量已定义为 int 类型sum = pad = 5; pAd = sum++, pAd++, ++pAd;printf( “%d\n”, pad );程序段的输出结果是A)4B)5C)6D)7答案:B4. sizeof( double ) 是A)⼀个整型表达式B)⼀个函数调⽤C)⼀个双精度表达式D)不合法的表达形式答案:A5. 有以下程序#include <stdio.h>main(){int a=2, c=5;printf(“a=%%d,b=%%d\n”, a, c );}程序运⾏后的输出结果是A)a=%d,b=%dB)a=%2,b=%5C)a=%%d,b=%%dD)a=2,b=5答案:A6. 有以下程序#include <stdio.h>#include <math.h>main(){int a=1, b=4, c=2;double x=10.5, y=4.0, z;z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;printf("%f\n", z);}程序运⾏后的输出结果是程序运⾏后的输出结果是A)13.700000B)14.000000C)15.400000D)14.900000答案:A7. 若有定义语句:int a=12;,则执⾏语句:a+= a-= a*a;后,a的值是A)264B)552C)144D)-264答案:D8. C 语⾔程序的模块化是通过以下哪个选项实现的A)变量B)语句C)函数D)程序⾏答案:C9. A)1.0/a/b/cB)1/(a b c)C)1.0/a b cD)1/a/b/(double)c答案:A10. 有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d\n", ++x, y–);}程序运⾏后的输出结果是A) 10,9B)11,10C)010,9D) 9,10答案:D11. 以下选项中叙述正确的是A)C 语⾔的标识符可分为关键字、预定义标识符和⽤户标识符三类B)C 语⾔的标识符可分为语句、变量和关键字三类C)C 语⾔的标识符可分为函数名、变量和预定义标识符三类D)C 语⾔的标识符可分为运算符、⽤户标识符和关键字三类答案:A12. 以下选项中叙述正确的是A)函数体必须由 { 开始B)C 程序必须由 main 语句开始C)C 程序中的注释可以嵌套D)C 程序中的注释必须在⼀⾏完成答案:A13. 以下选项中叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔源程序不编译也能直接运⾏C)使⽤ N-S 流程图不能描述复杂算法D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换答案:A14. 以下选项中叙述正确的是A)使⽤三种基本结构就可以实现任何复杂算法B)只要程序包含了三种基本结构中的任意⼀种,就是结构化程序C)程序语法错误要在运⾏时才能发现D)可运⾏ C 语⾔程序不需要包含 main()函数答案:A15. 以下选项中,合法的 C 语⾔常量是A) "\2.0B)‘C++’C) 1.234D)2Kb答案:C16. 以下选项中,合法的 C 语⾔实数是A).2e0B)3.1e0.4C)E13D)7.12E答案:A17. 设 a,b,c 是整型变量且均已赋值,则以下选项中错误的是A)a = (b = 3) = 1;B)a = (b = 2) + c;C)a = b = c + 10;D)a = 1 + (b = c = 2);答案:A18. 有如下程序#include <stdio.h>main(){int x = 072;printf("%d\n", x+1);}程序运⾏后的输出结果是A)72B)73C)115D)59答案:D19. 以下选项中叙述正确的是A)C 程序中的语句要经过编译才能转换成⼆进制机器指令B)算法需要包含所有三种基本结构C)有些算法不能⽤三种基本结构来表达D)简单算法的操作步骤不能超过 20 步答案:A20. 以下选项中叙述正确的是A)复杂任务可以分解成简单⼦任务B)C 语⾔程序中的所有函数必须保存在同⼀个源⽂件中C)全部三种基本结构都包含的才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A21. 以下选项中,合法的数值型常量是A) 092B)“A”B)“A”C) 3.1415D)0xDH答案:C22. 以下选项中,合法的实数是A) E1.3B) 4.5E2C)7.11ED)1.2E1.2答案:B23. 若有定义 int a, b, c; 以下选项中的赋值语句正确的是A)a = (b = c) + 1;B)(a = b) = c = 1;C)a = (b == c) = 1;D)a + b = c;答案:A24. 有如下程序#include <stdio.h>main(){int x = 0x13;printf("%d\n", x+1);}程序运⾏后的输出结果是A)13B)14C)12D)20答案:D25. 以下叙述中错误的是A)书写风格良好的程序执⾏效率⾼B)书写风格良好的程序易读性好C)C 程序可以在⼀⾏上写多条语句D)C 程序允许将⼀条语句分写在多⾏上答案:A26. 以下选项中不能正确表⽰数值 10000 的实型常量是A)1.0E4.0B)1.E4C)10E3D)1.0e4答案:A27. 设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其它三个不同的是A) a=b=cB) b=a= =cC)a=c= =bD)c=a!=c答案:B28. 设有两⾏定义语句:int scanf;float case;则以下叙述正确的是A)第 1 ⾏语句不合法B)两⾏定义语句都合法C)第 2 ⾏语句不合法D)两⾏定义语句都不合法答案:C29. 设有定义:double x=2.12;,以下不能完整输出变量 x 值的语句是A)printf(“x=%5.0f\n”,x);B)printf(“x=%f\n”,x);C)printf(“x=%lf\n”,x);D)printf(“x=%0.5f\n”,x);答案:A30. 设有定义:int a,b; float x; ,则以下选项中对语句所作的注释叙述错误的是A)scanf("%d%d%f",&a,&b); /* 多余的格式符%f 完全不起作⽤ /B)scanf("%d%d",&a,&b,&x); / 多余的输⼊项不能获得输⼊数据 /C)scanf("%d%f%d",&a,&b,&x); / 输⼊项与格式符类型不匹配,变量 b 和 x 得不到正确的输⼊数据 /D)scanf(“Input:%d%d”,&a,&b); / 格式串中允许加⼊格式符以外的字符串 */答案:A31. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是A)三种基本结构不可以嵌套使⽤B)顺序结构是按语句在程序中的先后顺序逐条执⾏,没有分⽀,没有转移C)选择结构是根据条件决定执⾏不同分⽀中的语句D)循环结构是根据条件决定是否重复、重复执⾏多少次循环体语句答案:A32. 以下能正确表述算式 sin(2πr+30°)的 C 语⾔表达式是A)sin(23.14r+3.1430/180.0)B)sin(2πr+ 30 )C)sin(23.14r+ 30 )D)sin(23.14r+303.14/360.0)答案:A33. 设有定义:int x=11,y=12,z=0;,以下表达式值不等于 12 的 是A) (z,x,y)B)(z=x,y)C)z=(x,y)D) z=(x==y)答案:D34. 以下可以将任意⼀个两位整数n的个位数与⼗位数对换的表达式为A)(n-n/10*10)10+n/10B)n-n/1010+n/10C)n/10+(n-n/10)D)(n-n/10)*10+(n/10)答案:A35. 设有以下程序段int y;y=rand() % 30+1;则变量 y 的取值范围是A) 1<y<30B)0≤y≤30C) 0<y≤30D)1<y≤30答案:C36. 以下程序段中,循环次数不超过 10 的是A)int i=10; do{ i=i+1;} while(i<0);B)int i=5; do{ i+=1;} while(i>0);C)int i=1; do{ i+=2;} while(i!=10);D)int i=6; do{ i-=2;} while(i!=1);答案:A37. 以下叙述正确的是A)计算机只接收由 0 和 1 代码组成的⼆进制指令或数据B)计算机只接收由 0 和 1 代码组成的⼗进制指令或数据C)计算机可直接接收并运⾏ C 源程序D)计算机可直接接收并运⾏任意⾼级语⾔编写的源程序答案:A38. 简单程序设计步骤中不包括A)编码B)确定算法C)安装编译程序D)调试答案:C39. 关于 C 语⾔标识符,以下叙述错误的是A)标识符可全部由数字组成B)标识符可全部由下划线组成C)标识符可全部由⼩写字母组成D)标识符可全部由⼤写字母组成答案:A40. 若有 C 语⾔表达式 2+34+7/3,则以下选项中关于执⾏顺序的叙述,正确的是A)先执⾏ 34 得 12,再执⾏ 2+12 得 14,再执⾏ 7/3 得 2,最后执⾏ 14+2 得 16B)先执⾏ 34 得 12,再执⾏ 7/3 得 2.5,最后执⾏ 2+12+2.5 得16.5C)先执⾏ 7/3 得 2,再执⾏ 34 得 12,再执⾏ 12+2 得 14,最后执⾏ 2+14 得 16D)先执⾏ 2+3 得 5,再执⾏ 5*4 得 20,再执⾏ 20+7 得 27,最后执⾏ 27/3 得 9答案:A41. 若想给已定义为 int 型的变量 a,b,c,d 赋值为 1,以下选项中错误的语句是A)a=b, b=c, c=d, d=1;B)a=b=c=d=1;C)a=1, b=a, c=b, d=c;D)d=1, c=d, b=c, a=b;答案:A42. 若有定义:char c; int d; 程序运⾏时输⼊:c=1,d=2<回车>,能把字符 1 输⼊给变量 c、整数 2 输⼊给变量 d 的输⼊语句是A)scanf(“c=%c,d=%d”, &c,&d);B)scanf(“c=%c d=%d”, &c,&d);C)scanf(“c=%d,d=%d”, &c,&d);D)scanf(“c=%d d=%d”, &c,&d);答案:A43. 以下叙述正确的是A) C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.exe 的可执⾏⽂件B)C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.obj 的⼆进制⽂件C)C 编译程序把⽂件后缀为.obj 的⼆进制⽂件编译成⽂件后缀为.exe 的可执⾏⽂件D)链接程序把⽂件后缀为.c 的源程序⽂件链接成⽂件后缀为.exe的可执⾏⽂件答案:B44. 算法应当具有的特性不包括A) 确定性B)有穷性C)美观性D)可⾏性答案:C45. 以下不属于 C 语⾔整数的是A)12fB)25uC)-32D)+20L答案:A46. 有 C 语⾔表达式 23+4+15%3 ,关于其执⾏顺序,以下叙述正确的是A)先执⾏ 23 得 6,再执⾏ 6+4 得 10,再执⾏ 15%3 得 0,最后执⾏ 10+0 得 10B)先执⾏ 23 得 6,再执⾏ 15%3 得 5,最后执⾏ 6+4+5 得 15C)先执⾏ 15%3 得 0,再执⾏ 23 得 6,最后执⾏ 6+4+0 得 10D)先执⾏ 15%3 得 3,再执⾏ 4+3 得 7,再执⾏ 2*3 得 6,最后执⾏ 6+7 得 13答案:A47. 若想给已定义为 int 型的变量 a、b、c、d 赋整数 1,以下选项中错误的语句是A)d=c, c=b, b=a, a=1;B)d=c=b=a=1;C)d=(b=c=(a=1));D)d=1, c=d, b=c, a=b;答案:A48. 若有定义:int a; float b; double c; ,程序运⾏时输⼊:1,2,3<回车>,能把 1 输⼊给变量 a、2 输⼊给变量 b、3 输⼊给变量 c 的输⼊语句是A) scanf("%d,%f,%f", &a,&b,&c);B)scanf("%d%f%lf", &a,&b,&c);C)scanf("%d,%lf,%lf", &a,&b,&c);D) scanf("%d,%f,%lf", &a,&b,&c);答案:D49. 以下叙述正确的是A)循环结构、选择结构、顺序结构都是结构化程序的基本结构B)计算机可以直接执⾏ C 语⾔程序,不需要做任何转换C)过于复杂的算法不能使⽤ N-S 流程图描述D)只有不超过 20 步操作步骤的算法才是简单算法答案:A答案:A50. 以下叙述正确的是A) C 语⾔程序并不是必须要定义 main()函数B)只使⽤三种基本结构即可解决任何复杂问题C)只要程序包含了任意⼀种基本结构,就肯定是结构化程序D)程序中的语法错误只有在运⾏时才能显现答案:B51. 以下选项中,合法的 C 语⾔常量是A) 2MBB)‘CPP’C)"\1.0D) 21.84答案:D52. 以下选项中,合法的 C 语⾔实数是A).1e0B)E1C)0.10ED)2.1e0.2答案:A53. 设 a,b,c 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是A)a = 2 = (b = 9) = 1;B)a = (b = 3) * c;C)a = b = c / 10;D)a = 1 % (b = c = 2);答案:A54. 有如下程序#include <stdio.h>main( ) {int x = 072;printf(“X=%d\n”, x+1);}程序运⾏后的输出结果是A) X=73B) X=59C)X=115D)X=72答案:B55. 下⾯叙述正确的是A)C 语⾔程序的语句经过编译和链接转换成⼆进制机器指令后才能执⾏B)任何算法需要包含三种基本结构中的两种以上C)复杂算法是不能⽤三种基本结构来表达的D)只要是简单算法,它的操作步骤都不会超过 20 步答案:A56. 下⾯叙述正确的是A)任何复杂任务都可以分解成简单⼦任务B)C 语⾔程序的所有函数只能处于同⼀个源⽂件中C)包含全部三种基本结构的程序才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A57. 以下选项中,合法的数值型常量是A) ‘X’B) 3.2B) 3.2C)099D)0xEH答案:B58. 以下选项中,合法的实数是A) 1.9E1.4B)E1.1C)2.10ED) 1.5E2答案:D59. 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值语句是A)a = (b = c) + 8;B)(a = b) = c = 9;C)a = (b == c) = ‘A’;D)a + b = c + 1;答案:A60. 有以下程序#include <stdio.h>main( ) {int x = 0x13;printf(“INT:%d\n”, x+1);}程序运⾏后的输出结果是A) INT:12B)INT:13C) INT:20D)INT:14答案:C61. 关于程序设计基本概念,以下叙述错误的是A)计算机可以直接执⾏由任意⾼级语⾔编写的程序B)⾼级语⾔都有与之对应的编译程序或解释程序C)⽤任何⼀种计算机⾼级语⾔都可以把算法转换为程序D)结构化算法可以解决任何复杂的问题答案:A62. 关于程序中的注释,以下叙述正确的是A) 注释中间可以嵌套另⼀个注释B)注释必须置于所说明的语句前或语句后C)注释的内容必须放在/* 和 */之间D)注释内容错误会导致编译出错答案:C63. 以下不能⽤于实型数据的运算符是A) +B)/C)*D) %答案:D64. 以下选项中,与 n=i++ 完全等价的表达式是A)n=i,i=i+1B)n+=i+1C)i=i+1,n=iD)n=++i答案:A65. 以下表达式的值与 x ⽆关、其值恒为真的是A)0 < x < 5B)x>10 && x<5C)x>10 || x<5D)x<10 && x>5答案:A66. 设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将m 中的数值保留⼩数点后两位,第三位进⾏四舍五⼊运算的表达式是A)n=m100+0.5, m=n/100.0B)m=(m100+0.5)/100.0C)n=m/100+0.5, m=n100.0D)m=m100+0.5/100.0答案:A67. 以下叙述正确的是A) 函数体内的定义语句和可执⾏语句允许任意交替出现B)main()函数若不带参数,其后⾯的⼀对圆括号可省略C) C 程序总是以 main()作为程序执⾏的起始⾏D)C 语⾔中的语句之间必须⽤分号作为分隔符答案:C68. C 语⾔中的基本数据类型包括A)整型、实型、字符型B)整型、字符型、数组C)整型、实型、逻辑型D)整型、实型、结构体答案:A69. 以下不正确的定义语句是A) long b=0L;B) unsigned int a= -100u;C)short c2=0123;D)int d=0x0;答案:B70. 以下⾮法的字符常量是A)’\n’B)’\101’C)’\x21’D)’\0’答案:A71. 设有定义:int x=7,y=12;,则以下表达式值为 3 的是A)(y%=x)-(x%=5)B)y%=(x%=5)C)y%=x-x%5D)y%=(x-x%5)答案:A72. 设有定义:int n = 1234;double x = 3.1415;则语句: printf("%3d,%1.3f\n", n, x); 的输出结果是A) 1234,3.141B)123,3.142C) 1234,3.142D)123,3.141答案:C73. 以下叙述错误的是A)任何能通过编译和运⾏的算法都⼀定能得到所期望的结果B)⼀个算法所包含的操作步骤应该是有限的C)算法中每⼀条指令必须有确切的含义D)算法可以⽤各种描述⽅法来进⾏描述答案:A74. 关于程序模块化,以下叙述错误的是A) 程序模块化可以提⾼调试程序的效率B)程序模块化可以提⾼程序编制的效率C)程序模块化可以提⾼程序代码复⽤率D)程序模块化可以提⾼程序运⾏的效率答案:D75. 以下是正确 C 语⾔标识符的是A)_3B)#3C)&3D)-3答案:A76. 以下是正确 C 语⾔实型常量的是A)1e-1B)e-1C)-1eD).e-1答案:A77. 若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的是A)int a=b=c=d=1;B)int a=1, b=1, c=1, d=1;C)int a,b,c,d; a=b=c=d=1;D)int a,b,c,d=1; a=b=c=d;答案:A78. 若有定义:char c; double d; 程序运⾏时输⼊:1 2<回车>,能把字符 1 输⼊给变量 c、数值 2 输⼊给变量 d 的输⼊语句是A)scanf("%c%lf", &c,&d);B)scanf("%d%lf", &c,&d);C)scanf("%c%f", &c,&d);D)scanf("%d%f", &c,&d);答案:A79. 以下叙述正确的是A)所有程序⾏都必须⽤分号结束B)C 语⾔程序由 C 语句组成,可以省略 main 函数C)分号是 C 语句之间的分隔符D) 在 C 语⾔中分号是语句的组成部分答案:D80. 以下叙述正确的是A) C 程序由函数组成,可以不包含 main 函数B)每个 C 程序⽂件中的 main 函数都应当放在最前⾯C)每个 C 程序⽂件都应当包含⼀个 main 函数D) 每个 C 程序都只能有⼀个 main 函数答案:D81. 若有定义:int a,b,c; 以下程序段的输出结果是a=11; b=3; c=0;printf("%d\n",c=(a/b,a%b));A)2B)0C)3D)1答案:A82. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运⾏后的输出结果是A)30B)28C)15D)14答案:B83. 若有定义:double a, b, c; 能正确给 a,b,c 输⼊数据的语句是A)scanf(" %lf %lf %lf",&a, &b, &c );B)scanf(" %f %f %f",&a, &b, &c );C)scanf(" %lf %lf %lf",a, b, c );D)scanf(" %lf %lf %lf"; *a, *b, *c );答案:A84. 输出语句:printf("%d\n",11+011);的输出结果是A)22B)20C)022D)021答案:B85. 以下叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔程序不编译也能直接运⾏C)有些算法不能⽤三种基本结构来表达D)如果 C 语⾔程序实现的算法很简单,则计算机不进⾏任何代码转换就能执⾏程序答案:A86. 以下叙述正确的是A)通过分解成简单⼦任务,可以完成任何复杂任务B)每个结构化程序都要包含全部三种基本结构C)C 语⾔程序的所有⾃定义函数只能写在同⼀个源⽂件中D)C 语⾔程序允许使⽤多个 main 函数,只要它们的函数体各不相同即可答案:A87. 以下选项中合法的 C 语⾔常量是A) 2EKB)‘C-STR’C)"\1.0D) 2014.1答案:D88. 以下选项中,合法的 C 语⾔实数是A).4e0B)4.3e0.2C)E4.8D)0.29E答案:A89. 设 a,b,c 已定义为整型变量,以下选项中不正确的赋值语句是A)a = 3 = (b = 2) = 1;B)a = (b = 0) * c + 1;C)a = b = c / 1.0;D)a = 10 % (b = c = 2.0);答案:A90. 有以下程序#include <stdio.h>main( ) { int x = 0x9;printf("%c\n", ‘A’+x);}程序运⾏后的输出结果是A)IB)JC)KD)H答案:B91. 以下叙述中错误的是A)计算机可以直接识别由⼗六进制代码构成的程序B)可以连续执⾏的指令的集合称为“程序”C)“程序”是⼈与计算机“对话”的语⾔D)计算机可以直接识别由 0 和 1 组成的机器语⾔代码答案:A92. 在传统流程图中,⽤来表⽰输⼊输出的图形是A) 椭圆形B)长⽅形C)菱形D)平⾏四边形答案:D93. 以下说法正确的是A)赋值语句是⼀种可执⾏语句,应当出现在函数的可执⾏部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执⾏D)赋值语句可以出现在源程序中的任意位置答案:A94. 若有定义: double x;,则表达式:x=0,x+10,x++ 的值是A)1.0B)10.0C)11.0D)0.0答案:D95. 若变量已正确定义并赋初值,以下合法的赋值语句是A)k=(m==n);B)k=int(m+n);C)k=-m-nD)k=m*n=1;答案:A96. 设有定义: double x=5.16894;,则语句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是A)5.16900B)5.16800C)0.00000D)输出格式说明符与输出项不匹配,产⽣错误信息答案:A97. 以下选项中不是 C 语⾔数据类型的是A) charB)floatC) stringD)int答案:C98. 以下选项中不能在 C 语⾔程序中⽤作⽤户标识符的是A) _3_14B)scanfC)FloatD) auto答案:D99. 以下选项中可⽤作 C 程序合法整数的是A)0x77B)1 2 (数字间有⼀个空格)C)xffD)018答案:A100. 以下选项中关于 C 语⾔算术表达式的叙述中错误的是A)C 语⾔仅提供了+、-、*、/ 这 4 个基本算术运算符B)C 语⾔采⽤的是⼈们熟悉的四则运算规则,即先乘除后加减C)算术表达式中,运算符两侧类型不同时,将进⾏类型之间的转换D)可以通过使⽤⼩括号来改变算术表达式中某些算术运算符的计算优先级答案:A。

c语言面试题目100及最佳答案精选全文

c语言面试题目100及最佳答案精选全文

精选全文完整版(可编辑修改)c语言面试题目及最佳答案1、描述⼀下gcc的编译过程?gcc编译过程分为4个阶段:预处理、编译、汇编、链接。

预处理:头⼀件包含、宏替换、条件编译、删除注释编译:主要进⼀词法、语法、语义分析等,检查⼀误后将预处理好的⼀件编译成汇编⼀件。

汇编:将汇编⼀件转换成⼀进制⼀标⼀件链接:将项⼀中的各个⼀进制⼀件+所需的库+启动代码链接成可执⼀⼀件2、内存的最⼀存储单位以及内存的最⼀计量单位分别是?内存的最⼀存储单位为⼀进制位,内存的最⼀计量单位字节3、#include<> 与#include ""的区别?include<>到系统指定⼀录寻找头⼀件,#include ""先到项⼀所在⼀录寻找头⼀件,如果没有找再到系统指定的⼀录下寻找4、描述⼀下变量的命名规则变量名有字⼀、数值、下划线组成,但不能以数值开头5、变量的声明与定义有啥区别?声明变量不需要建⼀存储空间,变量的定义需要建⼀存储空间6、谈谈c语⼀中有符号和⼀符号的区别?有符号:数据的最⼀位为符号位,0表示正数,1表示负数⼀符号:数据的最⼀位不是符号位,⼀是数据的⼀部分7、谈谈计算机中补码的意义统⼀了零的编码将符号位与其他位统⼀处理将减法运算转换成加法运算8、谈谈数组的特点同⼀个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的9、数组的分类数组的分类主要是:静态数组、动态数组两类。

静态数组:类似int arr[5];在程序运⼀就确定了数组的⼀⼀,运⼀过程不能更改数组的⼀⼀。

动态数组:主要是在堆区申请的空间,数组的⼀⼀是在程序运⼀过程中确定,可以更改数组的⼀⼀。

10、描述⼀下⼀维数组的不初始化、部分初始化、完全初始化的不同点不初始化:如果是局部数组数组元素的内容随机如果是全局数组,数组的元素内容为0 部分初始化:未被初始化的部分⼀动补0完全初始化:如果⼀个数组全部初始化可以省略元素的个数数组的⼀⼀由初始化的个数确定11、谈谈数组名作为类型、作为地址、对数组名取地址的区别?数组名作为类型:代表的是整个数组的⼀⼀数组名作为地址:代表的是数组⼀元素的地址对数组名取地址:代表的是数组的⼀地址12、谈谈你对⼀维数组在物理上以及逻辑上的数组维度理解⼀维数组在逻辑上是⼀维的,在物理上是⼀维的13、描述⼀下函数的定义与函数的声明的区别函数定义:是指对函数功能的确⼀,包括指定函数名、函数类型、形参及其类型、函数体等,它是⼀个完整的、独⼀的函数单位。

c语言经典题目100题

c语言经典题目100题

1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

C语言编程(函数)100道题

C语言编程(函数)100道题

C语言编程(函数)100道题C10027 1、编写函数fun, 函数的功能是:根据以下公式计算 s,计算结果作为函数值返回;n 通过形参传入。

S = 1 + 1/ (1+2) + 1/ (1+2+3) + …… + 1/ (1+2+3+……+n) float fun ( int n ){ int i ;float s = 0.0 , t = 0.0 ;for ( i = 1 ; i <= n ; i++ ) { t += i ; s += 1 / t ; }return s ;}2、编写函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。

m 与 n 为两个正整数且要求 m > n。

m!P = ?????n!(m-n)!float fun ( int m , int n ){ int i ;float p , t ;for ( t = 1.0 , i = 1 ; i <= m ; i++ ) t *= i ;p = t ;for ( t = 1.0 , i = 1 ; i <= n ; i++ ) t *= i ;p = p / t ;for ( t = 1.0 , i = 1 ; i <= m – n ; i++ ) t *= i ;p = p / t ;return p ;}3、请编写一个函数fun, 它的功能是:根据以下公式求л 的值,(要求满足精度 0.0005,即某项小于 0.0005 时停止迭代):π 1 1×2 1×2×3 1×2×3×4 1×2×…×n? = 1 + ? + ?? + ???? + ????? + …… + ????????2 3 3×5 3×5×7 3×5×7×9 3×5×…×(2n+1) double fun ( double eps ){ int n = 0 ;double t = 1.0 , pi = 0.0 ;while ( t >= eps ){ pi += t ; n++ ; t *= ( double ) n / (2 * n + 1) ; }return pi * 2 ;}4、请编写函数fun, 其功能是:计算并输出下列多项式值:1 1 1 1s = 1 + ?? + ?? + ?? + …… + ??1! 2! 3! n!1double fun ( int n ){ int i ;double t = 1.0 , sn = 1.0 ;for ( i = 1 ; i <= n ; i++ ){ t *= i ; sn += 1 / t ; }return sn ;}5、请编写函数fun,它的功能是:计算并输出下列级数和:1 1 1s = ??? + ??? + …… + ?????1×2 2×3 n×(n+1) double fun ( int n ){ int i ;double s = 0.0 ;for ( i = 1 ; i <= n ; i++ ) s += 1.0 / i / ( i + 1 ) ;return s ;}6、请编写函数fun, 其功能是:计算并输出当 x < 0.97 时下列多项式的值,直到?Sn-(Sn-1)?< 0.000001 为止。

C语言经典程序100题(完整版)

C语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

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

#include "stdio.h"#include "conio.h"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);}getch();}==============================================================【程序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,求应发放奖金总数?程序分析:请利用数轴来分界,定位。

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

#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言的简答题含解答共100道题

C语言的简答题含解答共100道题

C语言的简答题含解答共100道题1. 什么是C语言?●C语言是一种通用的编程语言,由Dennis Ritchie于1972年开发。

它被广泛用于系统编程、嵌入式开发和应用程序开发。

2. C语言的注释如何表示?●注释可以使用`/*`和`*/`包围起来,或者使用`//`开始的单行注释。

3. 如何声明一个整数变量?●使用语法:`int variable_name;`,例如:`int age;`4. 如何将值赋给一个变量?●使用赋值运算符`=`,例如:`age = 25;`5. 什么是标识符?●标识符是用来命名变量、函数和其他用户定义的实体的名称,它们必须遵循一定的命名规则。

6. C语言的基本数据类型有哪些?●整数类型(int、short、long)、浮点数类型(float、double、long double)、字符类型(char)等。

7. 如何定义常量?●使用`#define`预处理指令或`const`关键字,例如:`#define PI 3.141592` 或`const int max_age = 100;`8. 什么是C语言中的运算符?●运算符用于执行各种操作,如加法、减法、乘法、除法等。

常见运算符包括`+`、`-`、`*`、`/`、`%`等。

9. 如何在C语言中获取用户输入?●使用`scanf`函数来接收用户输入,例如:`scanf("%d", &number);`10. 如何在C语言中打印输出?●使用`printf`函数来输出内容,例如:`printf("Hello, World!");`11. 什么是条件语句?C语言中最常见的条件语句是什么?●条件语句用于根据条件执行不同的代码块。

C语言中最常见的条件语句是`if`语句。

12. `if`语句的基本结构是什么?●`if`语句的基本结构如下:```cif (condition) {// 代码块}```13. 如何使用`else`扩展`if`语句以处理多个条件?●使用`else if`可以在一个`if`语句中处理多个条件,例如:```cif (condition1) {// 代码块1} else if (condition2) {// 代码块2} else {// 默认代码块}```14. 什么是循环?C语言中有哪些类型的循环?●循环是一种重复执行一段代码的结构。

C语言基础练习100题(含标准答案)

C语言基础练习100题(含标准答案)

C语⾔基础练习100题(含标准答案)C语⾔基础练习100题(含答案)雷柳青编排1、下⾯程序的输出是________#includevoid main(){ int k=11。

printf("k=%d,k=%o,k=%x\n",k,k,k)。

}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t。

B) n1=(n2=(n3=0))。

C) k=i=j。

D) a=b+c=1。

3、下⾯合法的C语⾔字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执⾏完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执⾏下⾯程序中的输出语句后,输出结果是______.#includevoid main(){int a。

printf("%d\n",(a=3*5,a*4,a+5))。

}A) 65 B) 20 C) 15 D) 107、下⾯程序的输出是__________.#includevoid main(){int x=023。

printf("%d\n",--x)。

}A) 17 B) 18 C) 23 D) 248、下⾯程序的输出是___________.#include{char ch1,ch2。

ch2='A'+'6'-'3'。

printf("%d,%c\n",ch1,ch2)。

c语言 100题

c语言 100题

c语言100题1. 构成C语言程序的基本单位是()。

A.函数B.变量C.子程序D.语句是不正确的转义字符。

2. C语言规定:在一个源程序中,main()函数的位置()。

A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后3. 下列哪个选项能够正确地声明一个指向整型变量的指针?A) int *ptr;B) int ptr;C) int ptr;D) int ptr;4.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种5. C语言中的简单数据类型有()。

A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型6. 以下选项中,不正确的整型常量是()。

A.-37B.32,758C.326D.67.以下选项中,不正确的实型常量是()。

A.123B.1e4C.3.640E-1D.0.358.以下选项中,合法的C语言赋值语句是()。

A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);9.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是()。

A.0~255B.0~65535C.-32768~32767D.-256~25510.在C语言中,下列哪个函数用于将整数转换为字符串?A) itoa()B) atoi()C) to_string()D) intstr()11.以下叙述中,不正确的是()。

A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论是整数还是实数,都能准确无误地表示C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.前缀和后缀运算符,作为表达式来说有不同的作用12.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&(n=c>d)运算后,n的值为()。

c语言必做100题

c语言必做100题

c语言必做100题1. 编写一个C程序,输出“Hello, World!”。

2. 编写一个C程序,计算并输出1到100的和。

3. 编写一个C程序,判断一个数是否为素数。

4. 编写一个C程序,将一个字符串反转。

5. 编写一个C程序,实现二分查找算法。

6. 编写一个C程序,实现插入排序算法。

7. 编写一个C程序,实现选择排序算法。

8. 编写一个C程序,实现冒泡排序算法。

9. 编写一个C程序,实现快速排序算法。

10. 编写一个C程序,实现希尔排序算法。

11. 编写一个C程序,将一个二维数组转置。

12. 编写一个C程序,计算一个数的阶乘。

13. 编写一个C程序,实现斐波那契数列。

14. 编写一个C程序,计算两个数的最大公约数。

15. 编写一个C程序,计算两个数的最小公倍数。

16. 编写一个C程序,计算一个数的平方根。

17. 编写一个C程序,计算一个数的立方根。

18. 编写一个C程序,实现矩阵乘法运算。

19. 编写一个C程序,实现字符串的查找和替换。

20. 编写一个C程序,实现栈的基本操作(入栈、出栈、查看栈顶元素)。

21. 编写一个C程序,实现队列的基本操作(入队、出队、查看队首元素)。

22. 编写一个C程序,实现链表的基本操作(插入、删除、倒置)。

23. 编写一个C程序,实现二叉树的前序、中序和后序遍历。

24. 编写一个C程序,实现图的深度优先搜索算法。

25. 编写一个C程序,实现图的广度优先搜索算法。

26. 编写一个C程序,实现最短路径算法(Dijkstra算法或Floyd算法)。

27. 编写一个C程序,实现最小生成树算法(Prim算法或Kruskal算法)。

28. 编写一个C程序,实现拓扑排序算法。

29. 编写一个C程序,实现优先队列。

30. 编写一个C程序,实现哈希表的基本操作(插入、查找、删除)。

31. 编写一个C程序,实现堆的基本操作(插入、删除、查找最大值)。

32. 编写一个C程序,实现最大堆排序算法。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

C语言必考100题

C语言必考100题

C语⾔必考100题1.按下述格式,从键盘输⼊⼀个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。

2.输⼊两个整形数并打印,如果⽤户不慎输⼊了⾮法字符,那么程序提⽰“输⼊数据类型错误”。

3.已知三⾓形的三边长a,b,c,要求编写程序,从键盘输⼊a,b,c的值,计算并输出三⾓形的⾯积(注意不存在的情况)。

4.编程从键盘输⼊圆的半径r,计算并输出圆的周长和⾯积。

5.任意从键盘输⼊⼀个三位整数,要求正确分离它的个位,⼗位和百位数,并分别在屏幕上输出。

6.写⼀个函数实现统计⼀个输⼊的整形数的位数。

7.编程计算⽅程ax*x+bx+c=0的根,a,b,c由键盘输⼊,只是⽤主函数来实现。

8.编写三个函数,分别在b*b-4*a*c⼤于0、⼩于0、等于0时进⾏调⽤,并输出结果,在主函数中读⼊a、b、c的值。

9.从键盘输⼊你和你朋友的年龄,变成判断谁的年龄⼤,并打印最⼤者的年龄。

10.从键盘输⼊⼀个年份,判断该年是否是闰年,并输出结果。

11.判断某⼈是否属于肥胖体型。

根据⾝⾼与体重因素,医务⼯作者经⼴泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为⾝⾼,单位为m)。

当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。

编程从键盘输⼊你的⾝⾼h和体重w,根据上式,判断体重类型。

12.利⽤switch语句将百分制成绩转化为五分制成绩。

13.利⽤switch语句将五分制成绩转换成对应分数范围并输出。

14.编程设计⼀个简单的计算器程序,要求根据⽤户从键盘输⼊的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

15.利⽤时间函数编写⼀个猜数程序。

16.编程实现计算n的阶乘。

17.利⽤函数递归实现计算n!。

18.利⽤π/4=1-1/3+1/5-1/7……计算π的值直到最后⼀项的绝对值⼩于0.0001为⽌,要求统计总共累加了多少项。

c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案1. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪种数据类型是用于存储字符的?A. intB. charC. floatD. double答案:B3. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. forD. switch答案:D4. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D5. 如何定义一个具有10个元素的整型数组?A. int array[10];B. int array(10);C. int array[10] = {0};D. int array = 10;答案:A6. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个函数用于计算数组中元素的数量?A. sizeofB. lengthC. countD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 在C语言中,以下哪个关键字用于声明一个全局变量?A. externB. staticC. globalD. local答案:A10. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. openC. readD. write答案:A11. 在C语言中,以下哪个函数用于关闭一个文件?A. fcloseB. closeC. endD. finish答案:A12. 在C语言中,以下哪个函数用于读取一个字符?A. getcharB. getcC. fgetcD. scanf答案:A13. 在C语言中,以下哪个函数用于写入一个字符?A. putcharB. putcC. fputcD. printf答案:A14. 在C语言中,以下哪个函数用于格式化输出?A. printfB. sprintfC. fprintfD. all of the above答案:D15. 在C语言中,以下哪个函数用于格式化输入?A. scanfB. sscanfC. fscanfD. all of the above答案:D16. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. count答案:A17. 在C语言中,以下哪个函数用于连接两个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:A18. 在C语言中,以下哪个函数用于复制一个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:C19. 在C语言中,以下哪个函数用于比较两个字符串?A. strcmpB. strcpyC. strcatD. strncpy答案:A20. 在C语言中,以下哪个函数用于查找字符串中子串的位置?A. strstrB. strchrC. strrchrD. strcspn答案:A。

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案

C语言基础练习100题含标准答案1. 编写一个C语言程序,要求输出"Hello, World!"#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C语言程序,要求输出两个整数的和。

#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C语言程序,要求输出一个整数的平方。

#include <stdio.h>int main() {int num, square;printf("请输入一个整数:");scanf("%d", &num);square = num * num;printf("该整数的平方为:%d\n", square);return 0;}4. 编写一个C语言程序,要求输出1到10的所有整数。

#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0;}5. 编写一个C语言程序,要求输出1到10的所有整数的和。

#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 10; i++) {sum += i;}printf("1到10的所有整数的和为:%d\n", sum);return 0;}6. 编写一个C语言程序,要求输入一个字符串并输出该字符串。

c语言编程题经典100例

c语言编程题经典100例

c语言编程题经典100例下面是经典的c语言编程题100例,每道题目都涵盖了c语言编程的各个方面,包括基本数据类型、条件语句、循环结构、函数与指针等。

通过这100道题目的练习,可以帮助初学者快速掌握c语言编程的基础知识,也有助于进一步深入了解c语言的高级特性。

1. 打印Hello World。

2. 输入一个整数,判断是否为偶数。

3. 输入两个整数,求它们的和、差、积、商和余数。

4. 输入一个整数,求它的绝对值。

5. 输入一个字符,判断它是否为字母。

6. 输入三个整数,找出其中的最大值。

7. 输入一个字符,判断它是否为数字。

8. 输入一个整数,判断它是否为质数。

9. 输入两个字符串,比较它们的大小。

10. 输入一个字符,将它转换为大写或小写。

11. 输入一个浮点数,求它的平方根。

12. 输入一个整数,将它按位取反。

13. 输入一个字符串,翻转它的顺序。

14. 输入一个字符串,统计其中的元音字母个数。

15. 输入一个整数,将它转换为二进制数。

16. 输入两个整数,交换它们的值。

17. 输入一个二维数组,输出它的转置矩阵。

18. 输入一个数组,找出其中的最大值和最小值。

19. 输入一个数组,求它的平均数、中位数和众数。

20. 输入一个数组,判断它是否为回文数。

21. 输入一个字符串,统计其中的单词数量。

22. 输入一个字符串,统计其中的字符数、单词数和行数。

23. 输入两个字符串,判断它们是否为同构字符串。

24. 输入一个字符数组,将它转换为整数。

25. 输入一个浮点数,将它转换为分数。

26. 输入一个浮点数,将它四舍五入到整数。

27. 输入一个字符串,将其中的数字字符替换为其他字符。

28. 输入两个数组,把它们合并成一个新的数组。

29. 输入一个二维数组和一个数值,查找并输出它在二维数组中的位置。

30. 输入一个字符串,判断它是否为回文字符串。

31. 输入两个整数,求它们的最大公约数和最小公倍数。

32. 输入一个表达式,求它的值。

c语言入门基础100题

c语言入门基础100题

c语言入门基础100题设有语句:printf("%2d\n",2010);,则以下叙述正确的是A)程序运行时输出 2010B)程序运行时输出 20C)程序运行时输出 10D)指定的输出宽度不够,编译出错答案:A以下选项中,与 k = n++完全等价的表达式是A)k=n, n=n+1B)n=n+1, k=nC)k = ++nD)k += n+1答案:A以下叙述中错误的是A)在一个程序中,每个模块均可以独立编译运行B)程序“模块化”有利于任务的分解简化C)允许对函数单独进行编译,是 C 语言实现“模块化”的基础D)采用模块化结构,可以提高编程效率答案:A以下叙述中错误的是A) main()是 C 语言主函数的起始行B) main()作为主函数必须位于源程序的起始位置C)main()是 C 程序执行的起始行D)main 是不可替代的主函数名答案:B以下叙述中错误的是A)若用户标识符的命名与预定义标识符相同,则命名无效B)若用户标识符的命名与关键字相同,将产生编译错误C)若用户标识符的命名与预定义标识符相同,则预定义标识符失去原有含义D)若用户标识符的命名与预定义标识符相同,则可能引发运行错误答案:A以下不属于 C 语言整型常量的是A) 0XaB)0LC) -018D)200U答案:C若有如下定义和语句:double x=1.5;x++;则以下叙述中正确的是A)变量 x 经自增 1 运算后的值是 2.5B)x 是实型变量,不可以做自增 1 运算C)变量 x 经自增 1 运算后的值是 1.6D)变量 x 经自增 1 运算后的值是 2.0答案:A设有定义:double x;,以下选项中不能将输入数据 3.14 读入赋给变量 x 的是A) scanf("%4lf",&x);B)scanf("%lf",&x);C)scanf("%le",&x);D) scanf("%4.2f",&x);答案:D以下说法正确的是A)C 语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤B)C 语言程序运行时可以从键盘上读入用户以二进制输入的指令,并执行这些指令C)C语言程序运行时可以从键盘上读入用户输入的C源程序并逐行执行D)C 语言程序运行时可以从键盘上读入用户输入的 C 源程序并附加到本程序的尾部一并执行答案:A以下说法错误的是A)程序模块化的目的之一是提高程序的执行速度B)程序模块化的目的之一是提高程序编制的效率C)程序模块化的目的之一是提高程序代码复用率D)程序模块化的目的之一是提高调试程序的效率答案:A以下属于 C 语言标识符的是A) 6 6 6B)#6#C)@6@D) 6答案:D以下属于 C 语言实型常量的是A)6e+6B)e6+6C)+6eD).e+6答案:A以下说法正确的是A)赋值语句是一种可执行语句,应当出现在函数的可执行部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执行D)赋值语句可以出现在源程序中的任意位置答案:A若有程序段char c;scanf("%lf%c", &d, &c);如果想把 2.3 输入给变量 d,字符’f’输入给变量 c,程序运行时正确的输入是A)2.3fB)2.3 fC)2.3’f’D)2.3 ‘f’答案:A以下叙述中正确的是A)循环结构、选择结构、顺序结构是结构化程序的三种基本结构B)计算机能直接运行未经编译的 C 语言程序C)复杂算法不能使用 N-S 流程图来描述D)计算机能够直接处理不超过 20 行源码的简单 C 语言程序答案:A以下叙述中正确的是A) 程序要包含全部基本结构才是结构化程序B) 任何复杂问题都可以使用只包含三种基本结构的算法来解决C)不运行程序是不能发现程序中的语法错误的D)C 语言程序需要包含 MAIN 函数答案:B以下选项中,合法的 C 语言常量是A)1.01C)”\2.0D)2.0Kb答案:A以下选项中,合法的 C 语言实数是A) 0.1e0.1B) .1e0C)E10D)14.12E答案:B设 a、b、c 是已定义的整型变量且已正确赋初值,以下赋值语句中,错误的是A)a = (b = 3) = 1;B)a = (b = 0) + c + 0;C)a = b = c + 0;D)a = 0 + (b = c = 0);答案:A有如下程序#include <stdio.h>main(){int x = 072;printf(">%d<\n", x+1);}程序运行后的输出结果是B)>73<C)>142<D)>073<答案:A若变量已经定义且正确赋值,则针对程序段:temp=a; a=b; b=temp;以下叙述中正确的是A)此段程序是从左至右依次执行B)C 语言的顺序结构不允许将多条语句写在一行里C)此程序段的执行顺序是,先执行 b=temp;,再执行 a=b;,最后执行 temp=a;D)将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a 和 b 中值的交换答案:A设变量 a,b 和 ch 已正确定义并赋初值,则以下叙述中错误的是A)语句 ch=(unsigned int) a+b;是对 a 与 b 之和进行强制类型转换,结果赋值给变量 chB)运算符%的运算对象只能是整数类型C)逗号表达式的值是最后一个表达式的运算结果D)复合运算:a*=b+ch 是将变量 b、ch 之和与 a 相乘,结果再给a 赋值答案:A有如下两个传统流程图(a)和(b):以下关于两个流程图特点的叙述正确的是A) 两个表达式逻辑相同时,流程图功能等价B)语句 2 一定比语句 1 多执行一次C) 语句 2 至少被执行一次D)两个表达式逻辑相反时,流程图功能等价答案:C以下可以正确且安全的用作用户标识符的一组选项是A) Switch, unsignedB) _32int, long64C)Abc, getchD)3break, enter答案:B以下关于运算符"/"的叙述正确的是A)只有其两边运算对象的类型都是整型时,所做运算为整数整除运算B)总是进行双精度除法运算C)总是进行单精度除法运算D)不允许 char 型对象参与运算答案:A若有定义:char ch; int a; double d;,当输入为12345 678910.36 时,以下选项中能给各个变量正确输入数据的是A)scanf("%d%c%lf",&a,&ch,&d);B)scanf("%5d%2c%7.2lf",&a,&ch,&d);C)scanf("%d%c%lf",a,ch,d);D)scanf(“5d%2c%7.2lf%”,&a,&ch,&d);答案:A以下叙述中错误的是A).OBJ 文件和.EXE 文件都是可直接执行的二进制文件B)用户按规定语法编写的 C 程序不是二进制文件C)C 源程序经编译无误后将生成一个 .OBJ 的二进制文件D).OBJ 文件经“连接程序”生成的.EXE 文件是二进制文件答案:A以下关于注释的叙述中错误的是A)注释的边界符号“/”和“/”必须成对出现且可以嵌套B)C 语言允许注释出现在程序中任意合适的地方C)注释的内容仅用于阅读,对程序的运行不起作用D)注释的边界符号“/”和“*”之间不允许加入空格答案:AC 语言常量的类型从字面形式上可区分,以下判断中正确的是A) ‘\025’—字符串B)2E3 —整型C) 2.0E3 —实型D)“a”—字符型答案:C以下选项中,算术表达式的值与其他三个不同的是A)3/5B)3./5C)3/5.D)3.0/5.0答案:A设有定义:int k=3,i=2; 以下选项中,变量 k 的值与其他三个不同的是A) k=–i;B) k=i–;C)k=i-1;D)k-=i;答案:B设有如下语句:int k=0;k=printf(“OK\n”);则以下叙述中正确的是A)变量 k 得到的是输出字符的总个数 3B)变量 k 得到的是输出的可见字符个数 2C)printf 必须作为独立语句出现D)变量 k 仍保持初值 0答案:A以下说法正确的是A)C 语言被称为“高级语言”是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便B)C 语言被称为“高级语言”是因为它能接受和处理由 0 和 1 的代码构成的二进制指令或数据C)C 语言被称为“高级语言”是因为计算机能直接识别并执行由这种语言编写的程序D)C 语言被称为“高级语言”是因为它是用来开发高级软件的语言答案:A以下说法错误的是A) C 语言提供了定义函数的功能B) C 语言提供了定义函数和子程序的功能C)C 语言中没有子程序的概念D)C 语言既有库函数也可以自定义函数答案:B以下是正确 C 语言标识符的是A)8B)8C)8D)-8-答案:A以下是正确 C 语言实型常量的是A) e+8B) +8.8e+8C)+8e.8D).8e+8.答案:B算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是A)先执行 a+b 得 r1,再执行(d+e)得 r2,再执行 cr2 得 r3,最后执行 r1+r3 得表达式最后结果B)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 a+b 得 r1,最后执行 r1+r3 得表达式最后结果C)先执行(d+e)得 r2,再执行 cr2 得 r3,再执行 b+r3 得 r4,最后执行 a+r4 得表达式最后结果D)先执行 a+b 得 r1,再执行 r1+c 得 r5,再执行(d+e)得 r2,最后执行 r5r2 得表达式最后结果答案:A若有程序段:int a,b; char d;scanf("%d%c%d", &a, &d, &b);若想把 12 输入给变量 a,字符’k’输入给变量 d,34 输入给变量 b,程序运行时正确的输入是A) 12’k’34B)12 k 34C) 12k34D)12 ‘k’ 34答案:C以下叙述中正确的是A)一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构B)C 语言源程序即使不编译,也是可以直接运行的C)使用 N-S 流程图只能描述简单的算法D)复杂算法是指不能分解成子任务的算法答案:A下面说法正确的是A)使用只包含三种基本结构的算法可以求解复杂的问题B)C 语言源程序需要把所有过长的函数保存在单独的源文件中才能通过编译C)有一些特殊的程序语法错误,只有在运行时才能被发现D)一些完成简单任务的 C 语言程序,可以不包含 main()函数答案:A以下选项中,合法的 C 语言常量是A) “C++’B) 9.01C)\0.0”答案:B以下选项中,合法的 C 语言实数是A) .2e1B)3.1e3.1C)E09D)1.23E答案:A设 a,b,c 是整型变量且已正确赋有初值,以下选项中的赋值表达式错误的是A)a = (b = 0) = 8B)a = (b = 1) + c + 1C)a = b = c + 1D)a = 8 + (b = c = 1)答案:A有如下程序#include <stdio.h>main(){int x = 032;printf("%d\n", x);}程序运行后的输出结果是A) 32B) 26D)50答案:B以下叙述正确的是A)对于只包含表达式语句的程序段,执行顺序与书写顺序一致B)C 程序的执行是从源文件的开头,一行一行向下执行,每行都会被执行到C)C 程序的执行一定是从主函数开始,从主函数结束D)每个 C 源文件都应当有一个主函数答案:A以下叙述正确的是A)使用符号\可以将一条#include 命令写在多行里B)#include <stdio.h> 是 C 程序的一条语句C)一个#include 行可以包含多个文件,文件名用逗号分开D)一个#include 行可以包含多个文件,且最后一个文件起作用答案:A以下选项中,合法的 C 语言标识符是A) a-bB)%XC)_test!D) _123答案:D下面不合法的常量数据是A)’\0123321’B)0x3f7b8a90C)’\0x6d’D).023E-5答案:A以下说法正确的是A)复合语句中包含的语句种类没有限制B)复合语句中不能有分支语句C)复合语句中不能有循环语句D)一条复合语句不能超过 50 行答案:A若有定义:int a,b,c;,想通过语句:scanf("%d,%d%d",&a,&b,&c);把 1、2、3 分别输入给变量 a、 b、c,则正确的键盘输入是A)1,23<回车>B)1,2,3<回车>C)1<回车>23D)1<回车>2<回车>3答案:A以下叙述中正确的是A)C 语言既可以用来编写系统软件,又可以用来编写应用软件B)机器中只要安装有任一种编译程序,就能对 C 源程序进行编译C)若程序中不使用 C 语言提供的库函数,则可以不运行连接程序D)调试程序时若发现语法错误,改正后即可直接运行,无需再次编译答案:A以下叙述中正确的是A) 一个正确的算法可以没有输出结果B) 一个正确的算法可以不需要输入数据C)传统流程图使用方便灵活,但无法描述复杂的算法D)N-S 流程图不能用于描述复杂的算法答案:B以下叙述中正确的是A)C 语言标识符的规定长度因系统而异B)C 语言编译系统对标识符的长度没有规定C)C 语言规定标识符长度最多允许 16 个字符,超长报错D)C 语言规定以下划线开头的标识符长度必须大于 1答案:A以下完全正确的一组常量是A)0x0 123.B)01a .12e3C)0.3L 1.2e-1D)-12U 12.E0答案:A与数学式对应的 C 语言表达式是A)(pow(x,2)-pow(y,2))cos(3.141592645/180)B)(pow(2,x)-pow(2,y))cos(3.141592645/180)C)(xx-yy)*cos(45)D)(x2-y2)*cos(45)答案:A设有定义语句:double x=123.456;则语句printf("%6.2f,%3.0f\n",x,x);的输出结果是A) 123.45,123B) 123.46,123C)123.46,123.0D)123.45,123.答案:B以下叙述错误的是A)C 语言中提供了子程序的概念,可以和函数完成一样的功能B)C 语言允许对函数单独进行编译,可以实现模块化C)C 语言提供了丰富的数据类型D)C 语言是结构化程序设计语言,结构化程序由顺序结构、选择结构和循环结构三种基本结构组成答案:A以下不能定义为用户标识符的是A) _B)MainC) sizeofD)_int答案:C以下不能作为合法常量的是A) 1.234e04B) 1.234e0.4C)1.234e+4D)1.234e0答案:B若有定义:int k=7, x=12;,则以下表达式值为 3 的是A)(x %= k) - (k %= 5)B)x %= (k %= 5)C)x %= (k - k % 5)D)x %= k - k % 5答案:A以下有关 scanf 函数的叙述中错误的是A)在 scanf 函数的格式字符前既可以加入正整数指定输入数据所占的宽度,也可以对实数指定小数位的宽度B)scanf 函数有返回值,其值就是本次调用 scanf 函数时正确读入的数据项个数C)scanf 函数从输入字符流中按照格式控制指定的格式解析出相应数据,送到指定地址中D)在 scanf 函数中的格式控制字符串不会输出到屏幕上答案:A有以下程序#include <stdio.h>void main(){double x=3.14159;printf("%f\n", (int)(x*1000+0.5)/(double)1000);}程序运行后的输出结果是A) 3.143000B)3.141000C) 3.142000D)3.140000答案:C以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受二进制、八进制、十六进制的数C)C 语言只接受二进制、十进制、十六进制的数D)C 语言只接受十进制的数答案:A以下说法正确的是A) 由三种基本结构组成的结构化程序只能解决一些数学上有解析解的问题B)由三种基本结构组成的结构化程序只能解决一些简单的问题C)由三种基本结构组成的结构化程序只能解决那些可以结构化的问题D) 由三种基本结构组成的结构化程序可以解决任何复杂的问题答案:D以下说法正确的是A)C 语言标识符中可以出现多个字母、数字和下划线字符B)C 语言标识符中仅出现下划线字符是不允许的C)C 语言标识符中字母、数字和下划线字符必须同时出现D)C 语言标识符中字母、数字和下划线字符不能同时出现答案:A以下说法正确的是A)C 语言中的常量是指在程序运行过程中其值不能被改变的量B)C 语言中的常量是指在程序运行过程中经常被改变值的量C)C 语言中的常量是指在程序运行过程中经常被用到的变量D)C 语言中的常量是指在程序运行过程中经常被改变数据类型的量答案:A若有定义 float a=12.3f; double b=456.78; 若想用 printf函数输出 a 和 b 的值,关于输出格式,以下说法正确的是A) 只能用%lf 输出 a,用%lf 输出 bB)只能用%f 输出 a,用%lf 输出 bC) 既可以用%f 输出 a,也可以用%f 输出 bD)只能用%lf 输出 a,用%f 输出 b答案:C若有定义:double a; char d; float b;若想把 1.2 输入给变量 a,字符’k’输入给变量 d,3.4 输入给变量 b,程序运行时键盘输入:1.2 k 3.4 <回车>则以下正确的读入语句是A)scanf("%lf %c %f", &a, &d, &b);B)scanf("%lf%c%f", &a, &d, &b);C)scanf("%f %c %f", &a, &d, &b);D)scanf("%f%c%f", &a, &d, &b);答案:A下面叙述中正确的是A)用任何计算机高级语言书写的程序都必须转换为计算机指令序列才能执行B)程序是用纯粹的英文所表示的人们头脑中解决问题或进行计算的步骤C)算法仅仅是用计算机高级语言书写的计算机解题的步骤D)用计算机汇编语言书写的程序是计算机可以直接执行的答案:A下面叙述中错误的是A) C 语言程序是由函数组成的B) C 语言的函数可以直接使用,无需事先定义或声明C)C 语言的函数就是一段程序D)C 语言的函数可以单独编译答案:B若有定义:int a=100;则语句printf("%d%d%d\n",sizeof(“a”),sizeof(a),sizeof(3.14));的输出是A) 328B) 248C)238D)421答案:B若有定义:int a=3,b;,则执行语句:b=(a++,a++,a++);后,变量 a 和 b 的值分别是A)6,5B)8,7C)6,3D)5,6答案:A有以下程序段int a=3,b;b=a+3;{int c=2;a*=c+1;}printf("%d\n",a);下面关于此段程序的说法,正确的是A)这段程序的输出是 9B)这段程序中存在有语法错误的语句C)这段程序的输出是 7D)可执行语句 b=a+3;后,不能再定义变量 c答案:A以下叙述中正确的是A)在 C 语言中,常量名也要遵守标识符的命名规则B)对单目运算符来说,运算对象一定在其右侧C)标识符的首字符必须是下划线、字母,其他字符可以是任意的键盘可键入字符D)变量占用内存,常量不占用内存答案:A下面说法正确的是A)结构化程序的基本结构有三种,分别是循环结构、选择结构和顺序结构B)计算机只能执行顺序结构的 C 语言源程序C)循环结构无法使用 N-S 流程图描述D)一般称含有 20 条以内语句的算法为简单算法,超过 20 条则不可能是简单算法答案:A下面说法正确的是A) 任何函数只能有一种基本结构B)MAIN()函数是每一个 C 语言程序必须定义的C) 任何复杂问题都可以只使用三种基本结构来解决D)只要程序使用基本结构编写,运行时就不会出错答案:C以下选项中,合法的 C 语言常量是A) C++’B) 1.0C)"\0.\0D)2B答案:B以下选项中,合法的 C 语言实数是A).9E0B)E22C)0.41ED).8e0.01答案:A设 a,b,c 是整型变量,以下选项中的赋值表达式错误的是A)a = 1 = (b = 1) = 1B)a = (b = 0) * (c + 0)C)a = b = c * 0D)a = 1 % (b = c == 9) + 46答案:A有如下程序#include <stdio.h>main(){char *msg = “Hello”;int x = 012;printf("%s,X=%d.\n", msg, x+1);}程序运行后的输出结果是A) He,X=13.B) Hello,X=11.C)HelX=121.D)Hello,X=013.答案:B以下说法正确的是A)C 语言只接受八进制、十进制、十六进制的数B)C 语言只接受十进制的数C)C 语言接受除二进制之外任何进制的数D)C 语言接受任何进制的数答案:A以下说法错误的是A)由三种基本结构组成的结构化程序不能解决过于复杂的问题B)由三种基本结构组成的结构化程序能解决一些简单的问题C)由三种基本结构组成的结构化程序能解决递归问题D)由三种基本结构组成的结构化程序能解决数学上有解析解的问题答案:A以下说法错误的是A)C 语言标识符必须以字母开头B)C 语言标识符中下划线字符可以出现在任意位置C)C 语言标识符不能全部由数字组成D)C 语言标识符中可以有多个字母、数字和下划线字符答案:A以下说法错误的是A)C 语言中的常量是指在程序运行过程中经常被用到的变量B)C 语言中的常量是指在程序运行过程中其值不能被改变的量C)C 语言中的常量可以用一个符号名来代表D)C 语言中的常量可以用宏来定义答案:A若有定义: int a=1234, b=-5678; 用语句 printf("%±6d%±6d",a,b); 输出,以下正确的输出结果是A) 1234 -5678 (中间有两个空格,最后有一个空格)B) +1234 -5678 (最前面有一个空格,中间有一个空格)C)±1234±5678 (最前面和最后均无空格)D) +1234 -5678 (中三间有一个空格,最后有一个空格)答案:D若有定义:double a; float b; short c;若想把 1.2 输入给变量 a,3.4 输入给变量 b,5678 输入给变量 c,程序运行时键盘输入:1.2 3.4 5678<回车>则以下正确的读入语句是A)scanf("%lf%f%hd", &a, &b, &c);B)scanf("%lf%lf%hd", &a, &b, &c);C)scanf("%lf%lf%d", &a, &b, &c);D)scanf("%f%f%d", &a, &b, &c);答案:A一个算法应当具有五个特性,以下叙述中正确的是A)有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出B)有穷性、确定性、复杂性、有零个或多个输入、有一个或多个输出C)有穷性、确定性、可行性、必须要有一个以上的输入、有一个或多个输出D)有穷性、确定性、复杂性、有零个或多个输入、必须要多个输出答案:A以下不能定义为用户标识符的是A) VoidB)scanfC) intD)3com答案:C以下不能作为合法常量的是A)‘cd’B)1.234e04C)"\a"D)’\011’答案:A若有定义:int a=1, b=2, c=3, d=4, m=2, n=2;,则执行(m=a>b) && (n=c>d)后 n 的值是A)3B)2C)4D)1答案:B有说明语句:int a,b;,如果输入 111222333,使得 a 的值为111,b 的值为 333,则以下正确的语句是A)scanf("%3d%*3c%3d", &a, &b);B)scanf("%*3d%3c%3d", &a, &b);C)scanf("%3d%3d%*3d", &a, &b);D)scanf("%3d%*2d%3d", &a, &b);答案:A有以下程序#include <stdio.h>void main(){double x = 2.0, y;if (x < 0.0) y=0.0;else if (x < 10.0) y = 1.0 / x;else y = 1.0 ;printf("%f\n", y);}程序运行后的输出结果是A) 0.250000B)0.000000C) 0.500000D)1.000000答案:C以下叙述中错误的是A)用 C 语言编写的是机器语言程序B)用高级语言编写的程序称为“源程序”C)由编译器编译生成的二进制代码称为“目标程序”D)由三种基本结构构成的程序是结构化程序答案:A以下合法的用户标识符是A)12315B)2xC)m$D)I-max答案:A以下定义变量 i、j、k 并赋初值的语句,正确的是A)int i=0,j=0,k=0;B)int i=0;j=0;k=0;C)int i=j=k=0;D)int i=0;j=i;k=j;答案:A以下叙述中错误的是A) 无符号整数不可以是负数B)整型变量不能存放实数C) 实型变量可以精确存放整数D)负整数在内存中以“补码”形式存放答案:C若有定义语句:int a=2;,则以下表达式值不等于 3 的是A)a=a++B)a=a+1C)a+=1D)a=++a答案:A设有定义:double x=5.1012;,若要求只输出 x 的整数部分,以下不能实现此要求的语句是A) printf ( " x=%1.0lf\n",x);B)printf ( " x=%2.0f\n",x);C)printf ( " x=%.0f\n",x);D) printf ( " x=%2d\n",x);答案:D有以下程序(字母 A 的 ASCII 代码为 65)#include <stdio.h>main(){char c1 = ‘A’, c2 = ‘Y’;printf("%d, %d\n", c1, c2 );}程序运行后的输出结果是A) A, YB) 65, 89C)65, 90D)输出格式不合法,输出出错信息答案:B若变量已正确定义,则以下 for 循环for ( x=0,y=0; ( y!=123 ) && ( x<4 ); x++ );A)执行 4 次B)执行 3 次C)执行次数不确定D)执行 123 次答案:A。

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

1.
按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。

(课本62)
6. 输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错
误”。

(课本68 页)
7. 已知三角形的三边长a, b, c,要求编写程序,从键盘输入a, b, c的值,计算并
输出三角形的面积(注意不存在的情况)。

(第三章习题)
8. 编程从键盘输入圆的半径r,计算并输出圆的周长和面积。

(第三章习题)
9. 任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。

(课本82)
10. 写一个函数实现统计一个输入的整形数的位数。

11. 编程计算方程ax*x+bx+c=0 的根, a, b, c 由键盘输入,只是用主函数来实现。

(课
本83 页,但需综合考虑)
12. 编写三个函数, 分别在b*b-4*a*c 大于0、小于0、等于0 时进行调用, 并输出结果, 在主函
数中读入a、b、c 的值。

13. 从键盘输入你和你朋友的年龄,编程判断谁的年龄大,并打印最大者的年龄。

(课
本86 页)
14. 从键盘输入一个年份,判断该年是否是闰年,并输出结果。

15. 判断某人是否属于肥胖体型。

根据身高与体重因素,医务工作者经广泛的调查分析给出了以下
按“体指数”对肥胖程度的划分:体指数t=w/h*h (w 为体重,单位为
kg, h为身高,单位为m)。

当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t仝27时,为肥胖。

编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。

(课本89)
16. 利用switch 语句将百分制成绩转化为五分制成绩。

(课本97)
17. 利用switch 语句将五分制成绩转换成对应分数范围并输出。

18. 编程设计一个简单的计算器程序, 要求根据用户从键盘输入的表达式:操作数1 运算符op
操作数 2 计算表达式的值,指定的运算符为加减乘除。

(课本98)
19. 利用时间函数编写一个猜数程序。

(课本106)
20. 编程实现计算n 的阶乘。

(课本107)
21. 利用函数递归实现计算n! 。

22. 利用n /4=1-1/3+1/5-1/7 ……计算n的值直到最后一项的绝对值小于0.0001为止,
要求统计总共累加了多少项。

(课本112)
23. 编程输出正三角格式的九九乘法表。

(课本118)
24. 编程输出下三角格式的九九乘法表。

25. 从键盘任意输入一个正整数,编程判断它是否是素数,若是素数,输出“YES ”,
否则输出“ NO!。

(课本127)
26. 编写一个程序实现输出1—100之间所有素数。

27. 编写一个程序实现输出任意指定m、n 之间的所有素数。

28. 读入一个年份和月份,打印出该月有多少天(考虑闰年) ,用switch 语句编程。

(课
本159)(主要是设定一个标志,考虑闰年)
29. 打印所有的水仙花数。

所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

(例159=1*1*1+3*3*3+5*5*5 )(课本159)
30. 鸡兔同笼,共有98 个头, 386 只脚,编程求鸡兔各多少只。

(课本160)
31. 用1 元5 角钱人名币兑换5 分、2 分和1 分的硬币(每一种都要有)共一百枚,问共有几种
兑换方案?并输出每种方案。

(课本160)
32. 三色球问题。

若一个口袋中放有12 个球,其中有3 个红色的,3 个白色的,6 个黑色的,
从中任取8 个球,问共有多少种不同的颜色搭配?(课本160)
33. 打印100 以内整数的平方根表。

(课本161)
34. 编程打印一下图案:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
(课本161)
35. 设计一个函数,计算两个正整数的最小公倍数。

(课本195)
36. 设计一个函数,计算两个正整数的最大公约数。

(课本196)
37. 编程使二维数组a[m][n] 按如下输入输出
例:input 1 2 3 output 1 4
4 5 6 2 5
3 6
34. 从键盘输入某班学生某门课的成绩(每班人数最多不超过40 人,具体人数由键盘输入),试编程打印最高分及其学生序号。

(课本204)
35. 从键盘输入五个数,利用冒泡法排序,输出排序后的结果。

36. 从键盘输入五个数,利用选择法排序,输出排序后的结果。

37. 从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序排在最前面的学生姓名。

(课本234)
38. 从键盘任意输入五个学生的姓名,编程找出并输出按字典顺序的五个学生姓名。

39. 编程实现从键盘任意输入5 个正整数,统计非负数个数,并计算非负数之和。

(课本242)
40. 从键盘任意输入5 个正整数,用函数编程实现将其中最大数和最小数的位置对换后,再输出调整后的数组。

(课本242)
41. 输入5*5 的矩阵,编程实现:求两条对角线上行、列下标均为偶数的各元素之积。

(提示(i==j )||(i+j==4 )&& (i%2==0 )&& (j%2==0 ))(课本242)
42. 编程将下列矩阵中的元素向右移动一列,最后一行移至第一列。

(课本242)
1 9 3
5 10 21
43. 输入一行字符,统计其中的英文字符、数字字符、空格及其他字符的个数。

(课本243)
44. 从键盘任意输入两个整数,利用指针变量作为函数参数,编程实现两数互换功能,然后将交换后的数据重新输出。

(课本252)
45. 用字符指针编程实现字符串复制函数。

(课本260)
46. 用字符指针编程实现求字符串长度函数。

(课本262)
47. 编写一个程序,可以实现在一个数组中删除指定的元素。

如:数组元素为1,2,3,输入3,便删除3,输出1,2;若输入4,则继续输出1,2,3。

(课本272)
48. 编程将若干字符串按字母顺序由小到大排序后输出。

(二维数组和指针数组均可)。

(课本280)
49. 编程输入一个班的某课程的学生成绩,计算其平均分,然后输出,班级人数由键盘输入。

(课本290 )
50. 编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串(要求:使用头指针和尾指针来实现)。

(课本307)。

相关文档
最新文档