c语言基础练习题及答案一、单项选择题1.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A、”.c”B、“.obj”C、“.exe”D、“.bas”2.以下选项中不正确的整型常量是_c______。
A、12LB、-10c、1,900D、123U3.表达式___c___的值是0。
A、3%5B、3/5.0c、3/5D、3<54.表达式!(x>0||y>0)等价于__D___。
A、!x>0||!y>0B、!(x>0)||!(y>0)c、!x>0&&!y>0D、!(x>0)&&!(y>0)5.若变量已正确定义并赋值,表达式__D____不符合c语言语法。
A、4&&3B、+ac、a=b=5D、int(3.14)6.若变量已正确定义,执行语句scanf(%d%d%d,&k1,&k2,&k3);时,___BA、2030,40B、203040c、20,3040D、20,30,407.执行语句printf(”__D____”,2);将得到出错信息。
A、%dB、%oc、%xD、%f8.设变量定义为"ints[]=hello\nworld\n;”则数组s中有—B__________个元素。
A、12B、13c、14D、159.设变量定义为“inta[2]={1,3},*p=&a[0]+1;”则*p的值是___B_。
A、2B、3c、4D、&a[0]+110.若变量已正确定义并赋值,表达式-k++等价于__A________。
A、-(k++)B、(-k)++c、-(k+1)D、-(++k)11.在c语言程序中,在函数内部定义的变量称为__D____。
《C语言》练习题及答案解析一.选择题1.下列字符序列中,不可用作C语言标识符的是(B)。
A.abc123B.no.1C._123_D._ok2.一个C语言源程序是由(B)。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3.正确的C语言标识符是(A)。
A._buy_2B.2_buyC._buyD.buy4.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为(A)。
A.’D’B.68C.不确定的值D.’C’5.下列说法中,错误的是(A)。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有且仅有一个主函数6.有如下程序段,从键盘输入数据的正确形式应是(B)。
(注:└┘代表空格)floatx,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123B.x=1,y=2,z=3C.1,2,3D.x=1└┘y=2└┘z=37.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码B.反码C.原码D.ASCII码8.下列符号中,不属于转义字符的是(B)。
A.\\B.\0xAAC.\tD.\09.不属于C语言关键字的是(D)。
A.intB.breakC.whileD.character10.以下说法中正确的是(C)。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分11.C语言程序的基本单位是(C)。
#includeintfun(inta,intb,intc){if(a+b>c&&b+c>a&&a+c>b){if(a==b&&b==c)return3;elseif(a==b||b==c||a==c)return2;elsereturn1;}elsereturn0;}voidmain(){inta,b,c,shape;printf("\nInputa,b,c:");scanf("%d%d%d",&a,&b,&c);printf("\na=%d,b=%d,c=%d\n",a,b,c);shape=fun(a,b,c);printf("\n\nTheshape:%d\n",shape);}2、编写个程序,将两个变量的值交换,例如变量a中的值原为3,b中的值原为8,程序运后a中的值为8,b中的值为3。
#includevoidfun(int*x,int*y){intt;t=*x;*x=*y;*y=t}voidmain(){inta=3,b=8;printf("%d%d\n",a,b);fun(&a,b);printf("%d%d\n",a,b);}3、从键盘输3个数,将最值放在变量a中,最值放在变量c中。
C语言练习题(带详解答案)一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。
C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3,叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C程序可以分模块写在不同的文件中,编译时再将其组合在一起,选项D)错误。
C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_mainencludesinB)if–maxturboC)txtREAL3COMD)intk_2_0013、以下不能定义为用户标识符的是_D__。
A)scanfB)VoidC)_3comD)int4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159EC).5E-3D)E1510、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
11、设有以下定义:inta=0;doubleb=1.25;charc=’A’;#defined2则下面语句中,错误是__D__。
《高级语言程序设计》习题一.填空题1.以下条件表达式可计算1+|a|的值,填空完成语句:a>=0(1+a):(1-a)2.函数max定义的首部为:intmax(intx[],intn),该函数完成实现寻找长度为n的数组x中的最大元素。
若在主函数中有定义:intc,a[10];并要求函数调用后,变量c存放数组a中的最大元素,则函数调用语句应为:(c=max(a,10);)3.若有inti=5;则循环语句while(i>=1)i--;执行后,i的值为(0)。
4.能正确表示逻辑关系:“0≤a<10”的C语言表达式是(0<=a&&a<10)。
5.设inta[2][3]={{2},{3}};则数组元素(a[1][0])的值为3。
6.表达式(int)(3.0/2.0)的值是(1)。
7.有定义:intx=3,y=2;执行x/=y+1;语句后x的值为(1)。
8.有定义:intx=2,y=0;表达式(!x||y)的值为(0)。
9.有定义:charstr[]=“Hello!”;则数组str的长度为(7)。
10.有定义:inti=5;则循环语句while(i>=1)i=i-2;执行后变量i的值为(-1)。
11.已知‘A’~‘Z’的ASCII码为65~90,当执行intx=‘D’+5;语句后x的值为(73)。
12.有定义inta[6]={1,2,3,4,5,6},*p=a;则*(p+2)的值为(3),*(++P)的值为(2)。
13.如果在调用一个函数过程中,又调用另一个函数,称为函数的(嵌套)调用。
如果在调用一个函数的过程中又直接或间接地调用该函数本身,称为函数的(递归)调用。
基本语句练习1、若有以下程序段D#include”stdio.h”voidmain(){inta=2,b=5;Printf(“a=%%d,b=%%d\n”,a,b);}其输出结果是()A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d2、以下程序段Cfloata=3.1415;printf(“|%6.0f|\n”,a);其输出结果是()A、|3.1415|B、|3.0|C、|3|D、|3.|3、以下程序段的输出结果是()Cfloata=57.666;printf(“*%010.2f*\n”,a);A、*0000057.66*B、*57.66*C、*0000057.67*D、*57.57*4、下面语句printf(“|%8.5f|\n”,3461.45);的输出结果是()CA、|61.45000|B、|3461.450|C、|3461.45000|D、|3461.4500|5、若变量都已经正确说明,则以下程序段:Ca=2;b=3;printf(a>b”***a=%d”:“###b=%d”,a,b);A、没有正确的输出格式控制B、输出为:***a=2C、输出为:###b=2D、输出为:***a=2###b=36、执行下列程序时输入1234567,程序的运行结果为()B#include”stdio.h”voidmain(){intx,y;scanf(“%2d%2ld”,&x,&y);printf(“%d\n”,x+y);}A、17B、46C、15D、97、已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为()型。
AA、doubleB、intC、floatD、char8、根据定义和数据的输入方式,输入语句的正确形式是()B已有定义floatf1,f2;数据的输入方式:4.523.5A、scanf(“%f,%f”,&f1,&f2);B、scanf(“%f%f”,&f1,&f2);C、scanf(“%3.2f%2.1f”,&f1,&f2);D、scanf(“%3.2f,%2.1f”,&f1,&f2);9、以下程序的输出结果为()*3.140000,3.142*#include”stdio.h”voidmain(){printf(“*%f,%4.3f*\n”,3.14,3.1415);}10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是()。
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)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。
a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。
(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。
a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。
-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
1.下列四组选项中,均不是C语言关健字的选项是(A)。
A)defineB)gectC)includeD)whileIFcharscanfgotypeprintfcasepow2.下面四个选项中,均是合法整型常量的选项是(A)。
A)160B)-0xcdfC)-01D)-0x48a-0xffff01a986,0122e50110xe06680x3.下面四个选项中,均是不合法的转义符的选项是(B)。
A)abc.cB)fileC)MainD)PRINT6.C语言提供的合法关键字是(D)。
A)swithB)cherC)CaseD)default7.下列标识符组中,合法的用户标识符为AA)_0123与ssipedB)del-word与signedC)list与*jerD)keep%与wind8.在C语言中,逻辑值"真"的表示是用(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._MYB.2_2222C.shortD.LINE5【答】A(2)下列符号可以作为变量名的是。
A.+aB.*pC._DAYD.nextday【答】C(3)设c是字符变量,则以下表达式正确的是。
习题答案习题1(参考答案)1.程序与算法的概念及二者的区别是什么?程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。
算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
2.简述程序设计语言发展的过程程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。
首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。
一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
“面向对象”是一种以事物为中心的编程思想。
面向对象的方法主要是将事物对象化,对象包括属性与行为。
4.C语言程序的特点是什么?(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。
(2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。
(3)数据类型丰富。
C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。
1.**打印HelloWorld**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include
#include
#include
#include
#include
一、编程题1.输入2个整数,求两数的平方和并输出。
#include
#include
2x+1(x<0)y=0(x=0)2x-1(x>0)#include
C语言编程练习题附答案1.从键盘输入20个整数,使用冒泡排序将它们从大到小排列并输出。
includeintmain(){inta[20]。
i。
j。
t;printf("请任意输入20个整数\n");for(i=0.i<20.i++)scanf("%d"。
&a[i]);printf("\n");for(i=0.i<19.i++)for(j=0.j<19-i。
j++)if(a[j] a[i]);printf("\n");return0;2.从键盘输入20个整数,使用选择排序将它们从大到小排列并输出。 includedefineN20intmain(){inta[N]。 max。