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、下面程序的输出是___________.#includevoid main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#includevoid main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#includevoid main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#includevoid main(){int i,j,m,n;i=8;j=10;m=++i;精品文档n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#includevoid main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#includevoid main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#includevoid main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________. A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 1220、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的c语言表达式是________.< p="">A) 10<a10&&a<15 D) !(a<=10)&&!(a>=15)</a25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2",则程序的运行结果是________.#includevoid main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.精品文档#includevoid main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9",则输出结果是______.#includevoid main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)< p="">if (y<z)printf("%d\n",z);< p="">else printf("%d\n",y);else if (x<z)printf("%d\n",z);< p="">else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#includevoid main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);< p="">A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#includevoid main( ){ int x=8,y=-7,z=9;if (x<y)< p="">if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是_______.#includevoid main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (ss=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#includevoid main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;精品文档36、以下程序的执行结果是________. #includevoid main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break; case 1:printf("second\n");break; }case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________. #includevoid main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2538、下列程序执行后的输出结果是________. #includevoid main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#includevoid main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#includevoid main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#includevoid main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 8精品文档</y)<></y?y:x);<></z)printf("%d\n",z);<></z)printf("%d\n",z);<></y)<></a<15的c语言表达式是________.<>。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

C语言基础练习题含答案

C语言基础练习题含答案

目录1选择题.............................................................2填空题.............................................................3答案及部分解析.....................................................第4章选择结构习题........................................................1选择题.............................................................2填空题.............................................................3答案及部分解析.....................................................11.以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123B.no.1C._123_D._ok3.正确的C语言标识符是()。

A._buy_2B.2_buyC._buyD.buy4.请选出可用作C语言用户标识符的一组标识符()。

A.voidB.a3_b3C.ForD.2adefine_123-abcDOWORDIFCasesizeof5.下列符号中,不属于转义字符的是()。

A.\\B.\0xAAC.\tD.\06.不属于C语言关键字的是()。

A.intB.breakC.whileD.character7.是C语言提供的合法关键字的是()。

A.FloatB.signedC.integerD.Char8.以下不能定义为用户标示符的是()。

c语言入门练习题

c语言入门练习题

C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。

2. 声明一个浮点型常量,其值为3.14。

3. 将字符型变量 'A' 赋值给另一个字符型变量。

1.2 数据类型1. 将一个整型变量转换为浮点型变量。

2. 将一个长整型变量赋值给一个短整型变量。

3. 编写一个程序,输出不同数据类型所占的字节数。

1.3 运算符1. 计算5加3乘2的结果。

2. 判断两个整型变量是否相等。

3. 使用自增运算符使变量i的值增加1。

二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。

2. 输出用户输入的两个整数中的较大值。

3. 计算并输出圆的面积(给定半径)。

2.2 选择结构1. 判断一个整数是正数、负数还是零。

2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。

3. 编写一个程序,实现石头剪刀布的游戏。

2.3 循环结构1. 计算1到100所有整数的和。

2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。

3. 使用循环结构输出九九乘法表。

三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。

2. 定义一个函数,实现字符串的复制。

3. 创建一个函数,判断一个数是否为素数。

3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。

2. 编写一个递归函数,实现字符串的逆序输出。

3. 利用递归函数求解汉诺塔问题。

四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。

2. 计算一维数组中所有元素的和。

3. 找出一维数组中的最大值和最小值。

4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。

2. 计算二维数组对角线元素的和。

3. 实现矩阵的转置。

五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。

2. 使用指针实现两个整数的交换。

3. 编写一个函数,通过指针参数修改传入的字符串。

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

第一章C语言概述1.1、选择题(1)一个C语言程序是由()组成。

A. 一个主程序及若干个子程序B. 一个主程序C. 一个主函数及若干个子函数D. 一个主函数(2) 一个C语言程序总是从()开始执行。

A. 主过程B. 主函数C. 子程序D. 主程序(3) main函数在源程序中的位置()。

A. 必须在最开始B. 必须在子函数的后面C. 可以任意D. 必须在最后(4) 一个C程序的执行是从()。

A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到最后一个函数结束C. 本程序的main函数开始,通常也在main函数结束D. 本程序的第一个函数开始,到main函数结束(5) 以下叙述不正确的是()。

A. 一个C程序可由一个或多个函数组成B. 一个C程序必须包含一个main函数C. 在C程序中,注释只能位于一条语句的最后面D. C程序的基本组成单位是函数1.2、编程题(1)参照本章例题,编程输出如下信息:**********Very good!**********(2)编写一个C程序,输出以下信息:******Turbo C ** * * * *1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?1.5 用户编写的C程序上机运行要经过哪些步骤?第二章基本数据类型和表达式2.1 单项选择题(1) 以下不能用作变量名的是()A)_26 B)case C)scanf D)Double(2) 以下合法的八进制数是()A)0135 B)068 C)013.45 D)o7(3) 若变量已正确定义,以下非法的表达式是()A)a/=b+c B)a%(4.0) C)a=1/2*(x=y=20,x*3) D)a=b=c (4) 设x 为int 类型,其值为11,则表达式:(x++*1/3)的值是()A)3 B)4 C)11 D)12(5) 若题中各变量已正确定义并赋值,下面符合C 语法的表达式是()A )a%=7.6; B)a++,a=7+b+c C)int(12.3)%4 D)a=c+b=a+7 (6) 设k 和x 均为int 型变量,且k=7,x=12,则能使值为3的表达式是()A)x%=k%=5 B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)- (k%=5) (7) 能正确表示数学公式|)sin(|x ,的C 语言表达式是()A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180))) C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))(8) 以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数式z y x的C 语言表达式是()A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (9) 以下叙述中正确的是()A ) A )C 程序中,赋值运算符的优先级最低。

c语言基础100题

c语言基础100题

c语言基础100题以下是c语言基础100题:1. 编写一个程序,打印“Hello, World!”2. 编写一个程序,读取两个整数并打印它们的和。

3. 编写一个程序,读取一个整数并判断它是奇数还是偶数。

4. 编写一个程序,读取一个整数并判断它是否为质数。

5. 编写一个程序,读取一个整数并计算它的阶乘。

6. 编写一个程序,读取一个整数并打印它的逆序。

7. 编写一个程序,读取一个字符串并打印它的长度。

8. 编写一个程序,读取一个字符串并将其反转。

9. 编写一个程序,读取一个字符串并判断它是否为回文。

10. 编写一个程序,读取一个字符串并统计其中的字符、单词和行数。

11. 编写一个程序,读取一个字符串并将其中的小写字母转换为大写字母。

12. 编写一个程序,读取一个字符串并将其中的大写字母转换为小写字母。

13. 编写一个程序,读取一个字符串并打印其中每个字符的ASCII码。

14. 编写一个程序,读取一个整数并将其转换为二进制、八进制和十六进制。

15. 编写一个程序,读取两个整数并交换它们的值。

16. 编写一个程序,读取两个整数并计算它们的最大公约数和最小公倍数。

17. 编写一个程序,读取一个整数并打印出它的所有因子。

18. 编写一个程序,生成斐波那契数列的前n项。

19. 编写一个程序,读取一个字符串,并打印其中出现最多的字符。

20. 编写一个程序,读取一个字符串,并将其中的空格替换为连字符。

21. 编写一个程序,读取一个字符串并删除其中的重复字符。

22. 编写一个程序,读取一个字符串并判断它是否为合法的URL。

23. 编写一个程序,读取一个字符串并打印出其中的单词个数。

24. 编写一个程序,读取一个字符串并打印出其中的句子个数。

25. 编写一个程序,读取一个整数n并打印出前n个自然数的平方。

26. 编写一个程序,读取一个整数n并打印出前n个自然数的立方。

27. 编写一个程序,读取一个整数n并打印出前n个自然数的和。

C语言基础练习题含答案

C语言基础练习题含答案

目录第1-3章C语言基础知识习题 ..................................................................................................1 选择题 ...............................................................................................................................2 填空题 ...............................................................................................................................3 答案及部分解析 ...............................................................................................................第4章选择结构习题 .................................................................................................................1 选择题 ...............................................................................................................................2 填空题 ...............................................................................................................................3 答案及部分解析 ...............................................................................................................第5章循环结构习题 .................................................................................................................1 选择题 (25)2 填空题: ...........................................................................................................................3 答案及部分解题分析 .......................................................................................................第6章数组习题 .........................................................................................................................1. 单项选择题 ......................................................................................................................2. 填空题 ..............................................................................................................................3. 判断题 ..............................................................................................................................4. 程序填空题 ......................................................................................................................5. 阅读程序,分析程序的功能。

C语言习题集(基础篇有答案)

C语言习题集(基础篇有答案)

《C语言程序设计》习题篇第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5.下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。

A.程序行B.语句C.函数D.字符11.下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12.以下说法中正确的是()。

A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 下列哪个选项是C语言中的合法整数常量?A. 0x12B. 0X12C. 0x1GD. 0x1g答案:A4. C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D二、填空题1. C语言中,用于定义一个变量的关键字是________。

答案:int2. C语言中,用于定义一个数组的语法是________。

答案:type arrayName[arraySize];3. C语言中,用于定义一个指针的语法是________。

答案:type *pointerName;4. C语言中,用于定义一个函数的语法是________。

答案:type functionName(parameters);5. C语言中,用于定义一个枚举的语法是________。

答案:enum enumName {elements};三、简答题1. 简述C语言中指针和数组的关系。

答案:在C语言中,指针和数组有密切的关系。

指针可以指向数组的元素,数组名可以作为指向数组首元素的指针。

通过指针可以访问和修改数组中的元素。

2. 描述C语言中函数的调用过程。

答案:在C语言中,函数调用过程包括:调用函数、传递参数、执行函数体、返回结果。

调用函数时,程序控制权转移到被调用函数,函数执行完毕后,返回到调用点继续执行。

四、编程题1. 编写一个C语言程序,实现计算两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

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

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

如对你有帮助,请购买下载打赏,谢谢!C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void 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=13C) 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、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.如对你有帮助,请购买下载打赏,谢谢!A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 1220、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________. A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;如对你有帮助,请购买下载打赏,谢谢!ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 25如对你有帮助,请购买下载打赏,谢谢!38、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.如对你有帮助,请购买下载打赏,谢谢!#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s); A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}如对你有帮助,请购买下载打赏,谢谢!A) 6 3 B) 7 4 C) 6 2 D) 7 360、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}}该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;如对你有帮助,请购买下载打赏,谢谢!for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)《C语言程序设计基础》习题集(含答案)C语言是一门广泛应用于计算机科学领域的高级编程语言。

对于初学者而言,通过习题集的形式来学习C语言程序设计基础是一种有效的方法。

本文将为大家介绍一份包含答案的C语言程序设计习题集,通过解答这些习题,读者能够提升自己的C语言编程能力。

1. 数据类型与变量(1) 编写一个程序,要求输入一个字符,然后输出其ASCII码和对应的字符。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);printf("字符 %c 的ASCII码是:%d\n", ch, ch);return 0;}```(2) 编写一个程序,输入长方形的长度和宽度,计算并输出长方形的面积和周长。

```c#include <stdio.h>int main() {int length, width;printf("请输入长方形的长度:");scanf("%d", &length);printf("请输入长方形的宽度:");scanf("%d", &width);int area = length * width;int perimeter = 2 * (length + width);printf("长方形的面积为:%d\n", area);printf("长方形的周长为:%d\n", perimeter);return 0;}```2. 控制结构(1) 编写一个程序,判断输入的一个整数是否为奇数。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d 是偶数。

C语言基础练习题含答案

C语言基础练习题含答案

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (9)3 答案及部分解析 (11)第4章选择结构习题 (14)1 选择题 (14)2 填空题 (22)3 答案及部分解析 (31)第5章循环结构习题 (35)1 选择题 (35)2 填空题: (47)3 答案及部分解题分析 (60)第6章数组习题 (64)1. 单项选择题 (64)2. 填空题 (68)3. 判断题 (70)4. 程序填空题 (71)5. 阅读程序,分析程序的功能。

(76)第7章函数习题 (85)1. 单项选择题 (85)2. 填空题 (88)3. 判断题 (89)4. 程序填空题 (90)5. 写出下列程序运行结果 (92)第8章指针习题 (103)1 选择题 (103)2 填空题 (107)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3. 正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。

A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。

A.scanf B.Void C._3com_ D.int9. 一个C程序是由()。

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语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

第一章C语言概述1.1、选择题(1)一个C语言程序是由()组成。

A. 一个主程序及若干个子程序B. 一个主程序C. 一个主函数及若干个子函数D. 一个主函数(2) 一个C语言程序总是从()开始执行。

A. 主过程B. 主函数C. 子程序D. 主程序(3) main函数在源程序中的位置()。

A. 必须在最开始B. 必须在子函数的后面C. 可以任意D. 必须在最后(4) 一个C程序的执行是从()。

A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到最后一个函数结束C. 本程序的main函数开始,通常也在main函数结束D. 本程序的第一个函数开始,到main函数结束(5) 以下叙述不正确的是()。

A. 一个C程序可由一个或多个函数组成B. 一个C程序必须包含一个main函数C. 在C程序中,注释只能位于一条语句的最后面D. C程序的基本组成单位是函数1.2、编程题(1)参照本章例题,编程输出如下信息:**********Very good!**********(2)编写一个C程序,输出以下信息:******Turbo C ** * * * *1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?1.5 用户编写的C程序上机运行要经过哪些步骤?第二章基本数据类型和表达式2.1 单项选择题(1) 以下不能用作变量名的是()A)_26 B)case C)scanf D)Double(2) 以下合法的八进制数是()A)0135 B)068 C)013.45 D)o7(3) 若变量已正确定义,以下非法的表达式是()A)a/=b+c B)a%(4.0) C)a=1/2*(x=y=20,x*3) D)a=b=c (4) 设x 为int 类型,其值为11,则表达式:(x++*1/3)的值是()A)3 B)4 C)11 D)12(5) 若题中各变量已正确定义并赋值,下面符合C 语法的表达式是()A )a%=7.6; B)a++,a=7+b+c C)int(12.3)%4 D)a=c+b=a+7 (6) 设k 和x 均为int 型变量,且k=7,x=12,则能使值为3的表达式是()A)x%=k%=5 B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)- (k%=5) (7) 能正确表示数学公式|)sin(|x ,的C 语言表达式是()A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180))) C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))(8) 以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数式z y x的C 语言表达式是()A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (9) 以下叙述中正确的是()A ) A )C 程序中,赋值运算符的优先级最低。

C语言基础练习题(含答案)精编版

C语言基础练习题(含答案)精编版

目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。

(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

c语言考试试题基础版及答案

c语言考试试题基础版及答案

c语言考试试题基础版及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,用于定义一个字符型变量的关键字是?A. charB. characterC. stringD. var答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. =答案:A4. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D5. 在C语言中,下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array[];D. int array=10;答案:A7. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释答案:A8. 在C语言中,用于定义一个函数的关键字是?A. functionB. defC. defineD. void答案:D9. 下列哪个选项是C语言中的正确字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. Hello, World!答案:A10. 在C语言中,用于声明一个无返回值的函数的关键字是?A. intB. voidC. charD. float答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int ____________; 答案:变量名2. 用于计算两个整数之和的C语言运算符是:__________;答案:+3. 如果要在C语言中声明一个名为“result”的浮点型变量,应使用:float ____________;答案:result4. 在C语言中,用于定义一个二维数组的语法是:int____________[3];答案:数组名5. C语言中,用于声明一个指向整型变量的指针的语法是:int*____________答案:指针名6. 使用C语言中的printf函数输出字符串时,需要在字符串前加上的字符是:__________;答案:"7. 在C语言中,用于从键盘读取一个字符的函数是:__________;答案:getchar()8. 如果要声明一个名为“total”的整型变量并初始化为0,应使用:int total = __________;答案:09. 在C语言中,用于定义一个静态局部变量的关键字是:__________; 答案:static10. C语言中,用于计算两个浮点数之差的运算符是:__________;答案:-三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

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

《C语言程序设计》习题篇第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。

A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。

A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。

A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。

A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5.下列符号中,不属于转义字符的是()。

A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。

A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。

A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。

A.程序行B.语句C.函数D.字符11.下列说法中,错误的是()。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D .程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是( )。

A .C 语言程序总是从第一个定义的函数开始执行B .在C 语言程序中,要调用的函数必须在main( )函数中定义C .C 语言程序总是从main( )函数开始执行D .C 语言程序中的main( )函数必须放在程序的开始部分13. C 编译程序是( )。

A .C 程序的机器语言版本B .一组机器语言指令C .将C 源程序编译成目标程序D .由制造厂家提供的一套应用软件14.以下选项中,合法的用户标识符是( )。

A .longB ._2abcC .3dmaxD .A.dat15.以下选项中,合法的实型常数是( )。

A .5E2.0B .E-3C .2E0D .1.3E16.已知大写字母A 的ASCII 码值是65, 小写字母a 的ASCII 码是97,则用八进制表示的字符常量’\101’是( )。

A .字符AB .字符aC .字符cD .非法的常量17.以下选项中, 合法转义字符的选项是( )。

A .’\\’B .’\018’C .’xab ’D .’\abc ’18.以下选项中,正确的字符常量是( )。

A .”F ”B .’\\’’C .’W ’D .’’19.以下选项中可作为C 语言合法整数的是A .10110B B .0386C .0XffaD .x2a220.下列变量定义中合法的是A .short _a=1-.le-1;B .double b=1+5e2.5;C .long do=0xfdaL;D .float 2_and=1-e-3;21.与数学式子129 x x n对应的C 语言表达式是( )。

A .9*x^n/(2*x-1) B .9*x**n/(2*x-1)C .9*pow(x,n)*(1/(2*x-1))D .9*pow(n,x)/(2*x-1)22.若有代数式cdab 3,则不正确的C 语言表达式是( )。

A .a/c/d*b*3 B .3*a*b/c/dC .3*a*b/c*dD .a*b/d/c*323.已知各变量的类型说明如下:int m=8,n, a, b;unsigned long w=10;double x=3.14, y=0.12;则以下符合C 语言语法的表达式是( )。

A .a+=a-=(b=2)*(a=8)B . n=n*3=18C .x%3D .y=float (m)24.以下符合C 语言语法的赋值表达式是( )。

A .a=9+b+c=d+9B .a=(9+b, c=d+9)C .a=9+b, b++, c+9D .a=9+b++=c+925.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为()。

A.’D’B.68 C.不确定的值D.’C’26.在C语言中,要求运算数必须是整型的运算符是()。

A./ B.++ C.*= D.%27.若有说明语句:char s=’\72’;则变量s()。

A.包含一个字符B.包含两个字符C.包含三个字符D.说明不合法,s的值不确定28.若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是()。

A.2.500000 B.2.750000 C.3.500000 D.0.00000029.在C语言中,char型数据在内存中的存储形式是()。

A.补码B.反码C.原码D.ASCII码30.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A.x=(x*100+0.5)/100.0B.m=x*100+0.5, x=m/100.0C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.031.表达式13/3*sqrt(16.0)/8的数据类型是()。

A.int B.float C.double D.不确定32.设以下变量均为int类型,则值不等于7的表达式是()。

A.(m=n=6, m+n, m+1)B.(m=n=6, m+n, n+1)C.(m=6, m+1, n=6, m+n)D.(m=6, m+1, n=m, n+1)33.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是()。

A.7 B.8 C.6 D.234.已知s是字符型变量,下面不正确的赋值语句是()。

A.s=’\012’; B.s= ’u+v’;C.s=’1’+’2’; D.s=1+2;35.已知s是字符型变量,下面正确的赋值语句是()。

A.s=’abc’; B.s=’\08’;C.s=’\xde’; D.s=”\”;36.若有以下定义,则正确的赋值语句是()。

int x,y;float z;A.x=1,y=2, B.x=y=100C.x++; D.x=int (z);37.设x、y均为float型变量,则不正确的赋值语句是()。

A.++x ; B.x*=y-2;C.y=(x%3)/10; D.x=y=0;38.下列语句中符合C语言的赋值语句是()。

A.a=7+b+c=a+7; B.a=7+b++=a+7;C.a=7+b,b++,a+7 D.a=7+b,c=a+7;39.putchar函数可以向终端输出一个()。

A.整型变量表达式值。

B.字符串C.实型变量值。

D.字符或字符型变量值。

40.以下程序段的输出结果是( )。

int a=12345; printf(”%2d\n”, a);A.12 B.34 C.12345 D.提示出错、无结果41.若x和y均定义为int 型,z定义为double型,以下不合法的scanf()函数调用语句为()。

A.scanf(”%d%lx,%le”,&x,&y,&z);B.scanf (”%2d*%d%lf ”, &x, &y, &z);C.scanf(”%x%*d%o”, &x,&y);D。

scanf(”%x%o%6.2f”, &x,&y,&z);42.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。

(注:└┘代表空格)A.10A└┘20B B.10└┘A20BC.10 └┘A└┘20└┘ B D.10A20└┘B43.若变量已正确说明为float类型,要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式为()。

A.10<回车> B.10.0,22.0,33.0<回车> 22<回车>33C.10.0<回车> D.10 22<回车>22.0 33.0<回车> 33<回车>44.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。

(注:└┘代表空格)int x1,x2;char y1,y2;scanf(”%d%d”,&x1,&x2);scanf(”%c%c”, &y1,&y2);A.1020AB B.10└┘20└┘ABCC.10└┘20 D.10└┘20ABAB45.已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是()。

A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度46.有如下程序段,对应正确的数据输入是()。

float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A.2.04<回车> B.2.04,5.67<回车>5.67<回车>C.A=2.04,B=5.67<回车> D.2.055.67<回车>47.有如下程序段,从键盘输入数据的正确形式应是()。

(注:└┘代表空格)float x,y,z;scanf(―x=%d,y=%d,z=%d‖,&a,&y,&z);A.123 B.x=1,y=2,z=3C.1,2,3 D.x=1└┘ y=2└┘ z=348.以下说法正确的是()。

A.输入项可以为一个实型常量,如scanf(”%f”,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D.当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);49.根据定义和数据的输入方式,输入语句的正确形式为:()。

相关文档
最新文档