C语言练习题
C语言练习题
练习一1、把十进制数56,-74转化为对应的二进制数,并分别写出它们的8位原码和补码。
2、什么是浮点数?计算机内部是如何存储浮点数的?3、什么是ASCII码?ASCII码编码方案有何特点?试述常用字符的大致编码顺序。
4、什么是汉字的机内码?在计算机的内存中如何区分机内码与ASCII码?5、试述计算机内部采用二进制工作的原因,以及计算机的工作原理。
6、试述程序设计的概念,以及程序设计的基本过程。
7、什么是算法?算法有哪些特性和描述方法?算法与程序的关系如何?8、什么是高级语言?有哪些主要的高级语言?9、什么是标识符和关键字?它们分别有什么作用?10、标识符是如何构成的?使用标识符时应注意哪些问题?11、下列字符序列中,哪些可以构成合法的标识符?signed a-1 x_y_1 $use π0x56 sum num# _1234 age12、试述C程序的基本结构。
13、试述C程序上机的全过程,并解释这过程中产生的各类错误的含义。
练习二1、C语言的基本数据类型有哪些?数据类型对数据的表示和运算有什么约束?2、什么是常量?数值常量和符号常量有何区别?使用符号常量有什么好处?3、什么是变量?变量的名字、地址、值、类型有什么关系?4、如何定义变量?C语言中为什么规定变量必须先定义,后使用?5、常量也有数据类型,请问如何区分整型常量和实型常量的数据类型?6、字符常量与字符串常量的表示形式有何区别?'a'和"a"有什么不同?7、字符串常量"\\\34ab\n"中有多少个字符?8、下列表达式计算时,哪些地方会发生类型转换?从什么类型转换到什么类型?表达式计算的结果是什么类型?值多少?(1) 2.5+2*7%2/4 (2) 4*(2L+6.5)-12(3) 10/(5*3) (4) 2*10.0/(5*3)9、设有变量定义:float x=2.7,y=4.5; int a=8; 求表达式y+a%5*(int)(x+y)/2%4 的值。
c语言基础练习题及答案
c 语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A 、”.c” B、“ .obj ” C、“ .exe” D 、“ .bas”2. 以下选项中不正确的整型常量是_c ______ 。
A、12L B 、-10 c、1,900 D、123U3. 表达式___c___ 的值是0。
A、3%5B、3/5.0 c、3/5 D、3<54. 表达式!(x>0||y>0) 等价于__D___ 。
A 、!x>0||!y>0B 、!(x>0)||!(y>0) c 、!x>0&&!y>0 D 、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D ____ 不符合c 语言语法。
A、4&&3 B 、+a c、a=b=5 D 、int(3. 1 4)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3) ;时,___BA 、2030,40 B、20 30 40 c、20, 30 40 D 、20, 30,407. 执行语句printf( ” __D ____ ” , 2); 将得到出错信息。
A、%dB、%o c、%x D 、%f8. 设变量定义为"int s[ ]=hello\nworld\n; ”则数组s中有—B __________ 个元素。
A、12B、13 c、14 D、159. 设变量定义为“ int a[2]={1,3}, *p=&a[0]+1; ” 则*p 的值是___B_。
A、2B、3 c、4 D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A________ 。
A、-(k++) B 、(-k)++ c、-(k+1) D、-(++k)11. 在c 语言程序中,在函数内部定义的变量称为__D ____ 。
C语言练习题(带详解答案)
一单项选择题【1】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语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123 B.no.1 C._123_ D._ok2.一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3. 正确的C语言标识符是(A )。
A._buy_2 B.2_buy C.?_buy D.buy?4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。
A.’D’B.68 C.不确定的值D.’C’5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。
(注:└┘代表空格)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=37.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码B.反码C.原码D.ASCII码8. 下列符号中,不属于转义字符的是(B )。
A.\\ B.\0xAA C.\t D.\09. 不属于C语言关键字的是(D)。
A.int B.break C.while D.character10. 以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分11. C语言程序的基本单位是(C)。
c语言练习题
2-7:将一元钱分成一分,二分,五分币,共有多少种方法?
三、简单的判断问题
3-1:输入一个数n,判断该数是不是偶数,是偶数输出Y,不是偶数输出N
3-2:输入3-12之间的一个数,输出该月有几天。
四、累加问题与累乘问题
18.1乒乓球
这是一份乒乓球比赛的信息记录。
WWWLLLLWWLLWLWLLLLW
W代表你得一分,L代表对手得一分。
编写程序,由键盘输入比赛信息(WL字符串形式),输出当前的比分,你的分数在前,中间以冒号分隔。
例如,对于上面的信息记录,应当输出
8:11
18.2陶陶摘苹果
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。例如:对于输入100 200 150 140 129 134 167 198 200 111 110,应当输出5
**
****
******
********
**********
1-6:编写程序,输出以下图形。
*
***
*****
*******
*********
1-7:编写程序,输出以下图形。
*
***
*****
*******
*********
1-8:编写程序,输出以下图形。(教材130页6.14)
*
***
*****
C语言练习题(带详解答案)
1、编程题1.输入2个整数,求两数的平方和并输出。
#include <stdio.h>int main(void){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);return 0;}2. 输入一个圆半径r,当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。
#include <stdio.h>#define PI 3.14int main(void){ double r ,area , girth;printf("please input r:\n");scanf("%lf",&r);if (r>=0){ area =PI*r*r;girth =2*PI*r ;printf("the area is %.2f\n", area);printf("the girth is %.2f\n", girth);}elseprintf("Input error!\n");return 0;}3、已知函数y=f(x),编程实现输入一个x值,输出y值。
2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)#include <stdio.h>void main(){ int x,y;scanf(“%d”,&x);if(x<0) y=2*x+1;else if(x>0) y=2*x-1;else y=0;printf(“%d”,y);}4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。
C语言练习题
一、单项选择题一、基本概念1. C语言程序是由 C 构成的。
A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程3.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D)。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是( B )。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行8. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是(B)。
A.switchB.cherC.caseD.default4.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5. 下列C语言用户标识符中合法的是( B )。
A、*yB、sumC、intD、%5f6. 下面四个选项中,合法的标识符是:(D)A. autoB. defineC. 6aD. c7.下列C语言用户标识符中合法的是( B)。
C语言200道练习试题和答案
A)<=
B)=
C)%
D)&&
26.表达式(a=2,3) , a+1的值是【 C 】。
A)0 B)2
C)3
D)4
27.若执行printf("%d\n", strlen("a\n\"\x41"))语句其输 出结果是【 D 】。
A)8 B)7 C)6
D)4
28.在循环语句的循环体中执行break语句, 其作用是【 A 】。 A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行
则输出是【 d 】 A)1234.56 1234 B)1234.57 1235 C)1234.56 1235 D)1234.57 1234
43.如果有
int a, b; scanf(“%d,%d”, &a, &b);语句,
则输入数据时,只可以用【 d 】作为输入的分隔符
A)TAB键 B)空格
C)回车
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678
C语言练习题及答案
综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。
A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A)C)356e39、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。
C语言练习题
一、选择题(每题 1 分,共20 分)1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。
A、循环B、递归C、转移D、嵌套2.下列标识符中,合法的是_______ 。
A) unsigned B) 5ab C) INT# D)_num23.若float x ;x = 10/4 ;x的值是。
A、B、2.0 C、3 D、24.表达式!x 等价于。
A、x==0B、x==1C、x != 0D、x != 15.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。
A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.能将高级语言编写的源程序转换为目标程序的是。
A、链接程序B、解释程序C、编译程序D、编辑程序7.下列语句定义pf为指向float类型变量f的指针,是正确的。
A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f;8.一个C程序的执行是从。
A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束9.能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B、(x>=1)||(x<=10)||(x>=200)||(x<=210)C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D、(x>=1)||(x<=10)&&(x>=200)||(x<=210)10.对两个数组a和b进行如下初始化char a[]=“ABC DEF”;char b[]={ ‘A’,’B’,’C’,’D’,’E’,’F’};则以下叙述正确的是。
C语言练习题
C语言编程练习顺序结构:1.已知行驶时间与速度,试编程求解并输出行驶的路程(5分)。
2.编写程序对100以内所有能被3整除但不能被5整除的数求和并输出结果(6分)。
3.请编写程序,将“China”译成密码,密码规律是:用原来的字母后面的第4个字符代替原来的字母。
例如:字母“A”后面的第4个字母是“E”,用”E”代替“A”。
4.编写程序,将输入的大写字母转换为小写字母输出5. 编写一个C程序,输入a,b两个值,输出这两个数的和。
6.编写程序,输入一个人三门课的成绩,输出其平均成绩。
7.编写程序,任意输入一个三位整数,输出各位上数字之和,如输入123,则1+2+3=6,输出6。
8.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。
9.编写程序,输入一个人三门课的成绩,输出其平均成绩。
10.利用中间变量,完成两值交换。
选择结构:11.编写一个C程序,以下程序根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型编写程序。
12.编写程序输入x值,求解以下分段函数,并将其结果输出y=13.编写程序,判断输入的字符,若为小写字母,将其转换为大写字母,若为大写字母,将其转换为小写字母,若为其他字符,则原样输出。
14.编写程序,输入x的值,计算y的值:公式如右图:y={−1 x<00 x=01 x>0。
15.编写程序,根据输入的数字,输出相应的星期。
(1-7,则周一---周日,除此之外的数字,均输出无效输入的提示)循环结构:16.编写程序,输出1000以内的所有水仙花数。
水仙花数是指一个三位数,数的本身等于各位数字立方之和,如153=1^3+5^3+3^3。
17.编写程序,计算100以内能被3整除的数的和。
18.编写程序,求5!(输出格式要求为:例:5!=120)19.输入n个数,要求按照由小到大的顺序输出,并要求每行输出5个。
数组:20.编写程序,任意输入一行字符,以‘\n’结束,要求统计其中字母的个数,并将原字符及统计结果输出。
C语言各章节练习题(含答案)
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 522.下列四组选项中,均不是C语言关键字的选项是。
A) define IF type B) getc char printfC) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
(C语言标识符由字母,数字,下划线组成,开头不能是数字)A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。
A) D B) 68 C) 不确定的值 D) C填空 1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】。
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语言程序基础练习题500道(附答案)
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) CaseD)default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值D) T9若有以下定义char s='\092';则该语句( b )A)使s的值包含一个字符B)定义不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占(D )个字节。
C语言综合习题及答案
C语言综合习题及答案C语言练习题一、选择题1. 一个完整的C源程序是【B 】。
A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。
A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【B】。
A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main 函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【B 】。
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A 】开始的。
A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C 】A)print B)FOR C)&a D)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′ B)"C" C)′\xCC′ D) ′\072′9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10. 以下关于函数叙述中,错误的是【D】。
A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。
C语言练习题及参考答案
练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是????? 。
A.? C语言简洁和紧凑B. 能够编制出功能复杂的程序C.? C语言可以直接对硬件进行操作D.? C语言移植性好【答】B(2)一个C程序的执行是从????? 。
A.? main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D.? main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置????? 。
A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由????? 。
A. 一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是????? 。
A. 在执行C程序时不是从main()函数开始的B.? C程序书写格式限制严格,一行内必须写一个语句C.? C程序书写格式比较自由,一个语句可以分行写在多行上D.? C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有?? ①?? 个main()函数和?? ②?? 个其他函数。
【答】①一? ②若干(2)任何C语句必须以????? 结束。
【答】分号(3)C语言源程序的基本单位是????? 。
【答】函数(4)C编译程序的功能是????? 。
【答】将C源程序编译成目标代码练习题2及参考答案1. 单项选择题(1)以下字符串为标识符的是????? 。
A. _MY????????? ??????B. 2_2222?????? ?????? ??????C. short?????? ?????? ??????D. LINE 5【答】A(2)下列符号可以作为变量名的是????? 。
A. +a????? ?????? ??????B. *p?????? ?????? ?????? ??????C. _DAY????? ?????? ??????D. next day【答】C(3)设c是字符变量,则以下表达式正确的是????? 。
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程序概述一.选择题1.在计算机上可以直接运行的程序是(C )A.C语言源程序B.汇编语言程序C.机器语言程序D.高级语言程序2.一个程序总是从( B )开始执行程序A.第一行B.主函数C.第一个函数D.最后一个函数3.下述标识符中,(B )是合法的用户标识符。
A.A#CB.getchC.voidD.ab*4.以下叙述正确的是( C )A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误5.C语言规定,在一个源程序中,main函数的位置(C )A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后6. 一个C语言程序是由( B )A.一个主程序和若干个子程序组成B.函数组成C.若干个过程组成D.若干子过程组成7. 以下叙述不正确的是( D )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面8.一个C程序的执行是从( A )A.本程序的main函数开始,到main函数的结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C.本程序文件的main开始,到本程序文件的最后一个函数的结束D.本程序文件的第一个函数开始,到本程序文件的main函数的结束9. 以下叙述中正确的是( B )A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译10.以下叙述错误的是( D )A.C程序中,语句用分号“;”结尾,分号是C语句的一部分B.C程序中,可以在“{}”内写若干条语句,构成复合语句C.D语言的变量在使用之前必须先定义其数据类型D.C语言函数内部可以定义函数11. 以下叙述错误的是( D )A.C程序的注释部分放在“/*”和“*/”之间,“/”和“*”之间不允许有空格B.一个C源程序可由一个或多个函数组成C.一个C源程序必须有一个且只能有一个main函数D.C程序编译时注释部分的错误将被发现二.填空题1. C源程序的基本单位是________(函数)2. 一个C源程序中至少应包括一个______(main 函数)3. 在一个C源程序中,注释部分两侧的分界符分别是______和______(/* */)。
c语言练习题55题
1.输入两个正整数,m和n,求其最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
3.输入一个正整数求出它是几位数;输出原数和位数。
4.输入一个正整数,输出原数并逆序打印出各位数字。
5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。
6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。
将结果输出。
7.求1!+2!+3!+……+20!,将结果输出。
8.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。
9..打印出100~999之间的所有水仙花数。
10..求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。
11.给出年、月、日,计算该日是该年的第几天。
12.求一个3*3的整型矩阵对角线元素之和。
将原矩阵和求出的和输出。
13.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。
14.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。
15.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出16.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。
17..求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。
18.有一篇文章,有三行文字,每行有80个字符。
要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。
19..将20个整数放到一维数组中,输出该数组的最大值和最小值。
20..将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。
21..将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。
22..编写一个程序,将两个字符串连接起来,不要使用strcat函数。
23..编写一个程序,将字符数组a中的全部字符复制到字符数组b中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设int a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________。
2.文件使用方式“rb+”的含义是 。
3.设typedef struct {int a ;char s[10];}TYPE ;TYPE u1;则printf (“%d\n ”,sizeof (u1));的输出是 。
4.若定义:m=2,n=3,i=4,j=5,a=8,b=9,执行(a=m>n )&&(b=i>j )后,b 的值是 。
5.设有char *a=”ABCD ”,则printf(“%c ”*a)的输出是6.请写出数学式 abab 222的C 语言表达式是 。
7.调用系统函数strcmp (),必须在程序的开头写上一条文件包含命令是___________。
8.设char a[20]={……NANJING ”},*p=a+2;,则*(p+2)的值是___________。
9. 有下面的程序段,请问输出结果是 。
#define N 8*x+x*xx=2; s=5*N; printf(“%d ”,s)10.执行以下程序后a 的值为 。
int a,k=16,m=3,*p1=&k,*p2=&m;a=(*p1)/(*p2);11.设有宏定义#define X(n) 3*n ,则printf (“%f\n ”,6.0/X(2));的输出结果是___________。
12.下面函数要求计算两个整数x,y 之和,并通过形参z 传回结果值,请填空, void add( int x,int y, ){ *z=x+y;}13.下面程序的输出结果为 。
int k;char *str[6]={“abcd”,“efgh”,“ijkl”,“mnop”,“qrst”,“uvwx”},**p=str;printf(“%s\n ”, *(p+3));14.设有定义语句“struct {int x ;int y ;}d[2]={{1,3},{2,7}};”,则 printf (“%d\n ”,d[1].x );的输出是15.函数中未指定存储类型的局部变量,其隐含的存储类型是。
16.设float a[3][4]={{7.5,8.2},{2.3,3.7,1.2},{1.0,3.4}};,则a[2][1]的值是___________。
17.以下程序的输出结果是char s1[20]=”abcw12d”,s2[]=”123”;main( ){ strcpy(s1,s2);printf(“%s\n”, s1); }18.char *p=”string”; 则prinf(“%c”,*p)的结果是。
19.设有char*s[5]={“forturn”,”C++”,”basic”},执行prinf(“%s”,*(s+2));将输出______ _______。
20.下面程序的输出结果第一行为。
int k;ch ar *str[6]={“abcd”,“efgh”,“ijkl”,“mnop”,“qrst”,“uvwx”},**p=str;printf(“%c\n”,*(p[1]));printf(“%s\n”, *(p+3));21.若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是___________。
1.合法的C语言常量是()A ox3TB 039C TD ‘\t’2.设int a=7;float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.25C. 2.5D. 0.03.下面语句或声明,正确的是()A a=-2==4B int c=(a+b)++C a%=3.1D fload a=b++=c4.设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是( )A. scanf("%f",&x[6]);B. scanf("%lf",x[6]);C. scanf("%lf",p+6);D. scanf("%lf",p[6]);5.定义如下变量及数组:int k,y[2][3]={2,4,6,8,10,12};则下面语句的输出结果是()for(k=0;k<2;k++)printf(“%d”,y[1-k][k+1]);A.10,4B.8,12C.6,10D.10,66.设int a=2,b=5;,结果为0的表达式是()A. a%bB. a&&bC.!(a=b)D. a!=b7.若有以下定义,则值为4的表达式是()。
int a[3][4]={{1,2},{3,4},{5,6}},(*p)[4]=a;A.p[1][1] B.p++,*(p+1)C.a[2][2] D.*(p+1*4+1)8.若有如下结构定义:struct stu{int n,char m[20];}x1;则下面正确的语句是()A.scanf(“%d,%c”,x1);B.scanf(“%d,%c”,&x1);C.scanf(“%d”,x1.n);D.scanf(“%s”,x1.m);9.下面程序的输出结果是()#include <stdio.h>main (){ int a[]={1,2,3,4,5} ,y,*p=&a[2];y=*p--;printf ("%d,%d", *p,y );}A. 2,2B. 3,3C. 2,3D. 3,210.设int a=7;float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.25C. 2.5D. 0.011.设int i=l, k=2;, 则错误的循环语句是()A. for(i=0,k=k-1;i++,k++)s;B. for(;k-1;i++)s;C. for(i=1,k=4;k--;i++)s;D. for(;k--;)s;12.设int m=5;,语句while (m==0)printf (″%d″,m-=2);的循环体执行的次数是()A. 0B. 1C. 2D. 无限13.设char sl[ ]=“string1”,s2[8], *s3, *s4=“string2”;,则对系统函数strcpy的错误调用是()A. strcpy(s1, s4);B. strcpy(s4, “string2”);C. strcpy(“strin g2”,s2);D. strcpy(s4,s1);14.下列程序段正确的是()A. char s[ ]={…xyz‟};B. float *p,i;scanf(……%s”,s);p=*p+i;C. char s[5]=…word‟;D. int a[5]={0},*p=a;puts(s);*p=*(p+1);15.若有以下定义,则数值为4的表达式是()。
int a[3][4]={{1,2},{3,4},{5,6}},(*p)[4]=a;A.p[1][1] B.p++,*(p+1)C.a[2][2] D.*(p+1*4+1)16.正确的数组定义及初始化的是()A. char a[10]={“string”};B. int a[5]={0,1,2,3,4,5};C. char a={“string”};D. int a[ ]={x,y,z};17.下列语句组中,正确的是( )A. char *s;s="Olympic";B. char s[7];s="Olympic";C. char *s;s={"Olympic"};D. char s[7];s={"Olympic"};18.设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是( )A. scanf("%f",&x[6]);B. scanf("%lf",*(x+6));C. scanf("%lf",p+6);D. scanf("%lf",p[6]);19.若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是( )A. p=s;B. p=k;C. p=s[0];D. k=s;20.对如下的结构定义,则正确的语句是()struct student {char name[20]; char sex; int age; }Li;A.=”Li”; B.Li={“Li”,‟M‟,20};C.Li.age=20; D.struct Li={“Li”,‟M‟,20}; 21.有说明struct { char name[15],sex; int age;float score;}stu,*p=&stu;以下语句中正确的是()。
A.scanf(“%c”,p->sex); B.scanf(“%s”,);C.scanf(“%d”,stu.age); D.scanf(“%f”,p->score);22.下列关于函数定义正确的是()A. fun(int x,y){int z;return z;}B. void fun(int x,int y){return x+y;}C. fun(x,y){int x,y;double z;z=x+y;return z;}D. double fun(int x,int y){double z;z=x+y;return z;)1.程序的运行结果为void c_d(int a[],int n,int *c,int *d);main(){ int i,a[]={2,4,1,6,7,32,45,75,45,90},c,d;c_d(a,10,&c,&d);printf("c=%d d=%d",c,d);}void c_d(int a[], int n, int *c, int *d){ int i;*c=*d=a[0];for(i=0;i<n;i++){ if(*c<a[i]) *c=a[i];if(*d>a[i]) *d=a[i]; }}2.程序的运行结果为f( int b){ static int y=3;return(b+y++);}{ int a=2,i,k;for(i=0;i<2;i++)printf(“%d\t”,f(a));}3.程序的运行结果为main(){ int i=1;while(i<5)switch(i++){ case 1:case 2: printf(“%d”,i++);def ault: printf(“A BC”);case 4: print f(“%d”,i++);break;}}4.程序的运行结果为int f1(int x){ switch(x){case 0: x+=1; break;case 1: x+=2; return x;case 2: x+=3;case 3: x+=4; break;}return x; }void f2(int *p,int n){ int k;for(k=0;k<n;k++) p[k]=f1(k);}main(){int a[4],x;for(x=0;x<4;x++)printf(“%d”,a[x]);}5.程序的运行结果为int y=2;void fun(int y){ static int x=2;x=x*y;y=x+y;printf(“%3d%3d\n”,x,y);}main(){int i,x=2;for(i=0;i<2;i++) fun(x+y); }6.程序的运行结果为#include <stdio.h>#define N 6void main (){int a [N]={2,-3, 4,5,-6,9}, i,s=0,n=0;for (i=0;i<N;i++){if(a[i]<0) continue;s=s+a[i];n++;}printf (“%f\n”,s/(float)n);}7.程序的运行结果为#include<stdio.h>int fun(int *a,int *b,int c){*a=(*b)*c ;*b=2*c;c=*a+(*b);return(--c);}main(){int a=1, b=2, c=3, d=4;d=f(&a,&b,c);printf(“%d, %d, %d, %d\n”,a,b,c,d);}8.程序输出结果为。