C语言程序设计试题试题及答案
C语言程序设计试题集与答案解析

一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C 语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言。
国家开放大学C语言程序设计章节测试参考答案

国家开放大学《C语言程序设计》章节测试参考答案第一章C语言概述自测练习一:C语言字符集自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。
(√)2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。
(√)3.在C语言程序中,ABC和abc被作为同一标识符使用。
(×)自测练习二:C语言字符集自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。
(√)2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。
(√)3.C语言中使用的字符常量,其起止标记符是()。
a. 双引号b. 尖括号c. 单引号d. 中括号4.C语言中使用的字符串常量,其起止标记符是()。
a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类自测练习1.在C语言中,一条简单语句的结束符是()。
a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为()。
a. <b. [c. (d. {3.不符合C语言规定的复合语句是()。
a. {x=0;}b. {}c. {;}d. {y=10}4.C语言中的选择类语句有两条,它们是()。
a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用自测练习1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
C语言程序设计期末考试试题(含答案)

一、单项选择题(本大题共20题,每题2分,共40分)1.以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2.以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab。
c3.一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4.一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为()A、intB、floatC、doubleD、不确定6.在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7.有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是().#include<stdio。
h〉main(){intx;floaty;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int (x);9.以下程序的执行结果是()#include〈stdio.h〉{inti=10,j=10;printf(”%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910.巳知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio。
h>main(){charc1='A',c2='Y’;printf("%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911.下列运算符中优先级最高的是()A、<B、十C、%D、!=12.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是()。
C语言试题及答案

《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。
A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。
A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。
C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab。
c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是( ) 。
#include〈stdio。
h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b;float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio。
h>{int i=10,j=10;printf("%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h〉main(){char c1=’A',c2=’Y’;printf(”%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( )。
C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
C语言程序设计试卷及答案

C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。
《C语言程序设计》试题九及答案

《C语言程序设计》试题九 (1)一、选择题 (1)二、填空题 (2)三、程序填空与算法题 (3)四、编程题 (5)《C语言程序设计》试题九答案 (6)《C语言程序设计》试题九一、选择题1.一个C语言程序是由()构成。
A.语句 B.行号 C.数据 D.函数2.下面标识符中正确的是()。
A.d&ef B.6a C.z4x5c D.a3/b43.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。
型、单精度实型变量所需的空间是()。
A.1、2、4 B.1、1、4 C.1、2、8 D.2、2、84.为了避免嵌套的条件分支语句 if--else中的else总是与()组成成对关系。
A. 缩排位置相同的B. 在其之前未配对的C. 在其之前未配对的最近的ifD. 在同一行上的if5.下列表达式的结果正确的是()。
int aa,bb,cc,dd;aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;(aa+1==2)?bb=aa+2:aa+3A.2 B.3 C. 1 D.56.设有int x=11 ;则表达式(x+1/3)的值是()。
A.3 B. 4 C. 11 D.127.设有字符串A=“He has 钱!”,则该字符串的长度为()。
A. 9B. 10C. 11D. 88.有如下程序段,则正确的执行结果是()int m=3;while(m<=5){ printf(“%d”,m-3); m++;}A. 0 0 0 B.0 1 2 C.1 2 3 D.无结果9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是()。
A.无输出 B.结果不确定 C.-1 D. 110.有如下定义类型语句,若从键盘输入数据,正确的输入语句是()。
int x; char y; char z[20];A. scanf("%d%c%c",&x,&y,&z);B. scanf("%d%c%s",&x,&y,&z);C. scanf("%d%c%c",&x,&y,z);D. scanf("%d%c%s",&x,&y,z);11. struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题试题及答案C 语言程序设计试卷,C++ 语言程序设计试题及答案一、单项选择题(每题1分,共20 分)1. C 语言规定:在一个源程序中,main 函数的位置( C ) 。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B ) 。
A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3, 则条件表达式a<="" a:b+1="" p="" 的值为(a="">A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2; 执行语句n=iA. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1 和s2 是否相等, 应当使用( D )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( B ) 。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是(D)。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( A)A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( D ) 。
A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}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; }10. 以下程序的输出结果是 ( B ) 。
#include#define F(y) 8.19-y#define PRINT(a) printf("%d",(int)(a)) void main(void){int x=2;PRINT(x*F(3));}A. 10B. 13C. 11D. 报错11. 以下程序中编译和运行结果均正确的一个是 ( C ) 。
A. A. void main(void) { union { int n; float x;} comm={1}; printf("%d",comm.n);}B.B. void main(void) {union{ int n;float x;} comm={12.5}; printf("%f",comm.x);}C.C. void main(void) {union{ float x;int n;} comm={12.5} printf("%f",comm.x);}D.D. void main(void) {union{ int n;float x;} comm=5;printf("%d", comm.n);}12. 设有定义: int a=1,*p=&a float b=2.0; char c='A'; ( A) 。
B. a--;C. b++;D. c--;13. 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的main(){ int *p,*q,a,b; p=&a printf("input a:"); scanf("%d",*p);}A.*p 表示的是指针变量 p 的地址 B.*p 表示的是变量 a 的值,而不是变量 a 的地址 C.*p 表示的是指针变量 p 的值 D. *p 只能用来说明 p 是一个指针变量14. 若num 、a 、b 和c 都是int 型变量,则执行表达式num=(a=4,b=16,c=32); 后 num 的值为 ( C ) 。
A. 4B. 16C. 32D. 5215. 已有如下定义和输入语句, 若要求a1,a2,c1,c2 的值分别为10,20,A 和B, 当从第一列开始输入数据时, 正确的数据输入方式是( C ),( 注: _ 表示空格 ) int al,a2,char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);以下不合法的运算是,其错误原因是 ( B )A. 10A_20_BB. 10_A_20_BC. 10A20BD. 10A20_B16. 若有说明:int a[10]; 则对a 数组元素的正确引用是(C ) 。
A. a[10]C. a[5-3]D. a[-1]17. 在C语言中,一维数组的定义方式为类型说明符数组名;(AA. [ 整型常量表达式]B. [ 表达式]C. [ 整型常量]D. [ 整型表达式]18. 以下能对一维数组a 进行正确初始化的语句是( C ) 。
A. in a[10]=(0,0.0,0,0);B. int a[10]={};C. i nt a[] = {0};D. int a[10]={10*1};19. 以下程序段( C ) 。
x=-1;do{x=x*x;}while(! x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误20. 以下关于do-while 循环的不正确描述是( B ) 。
A. do-while 的循环体至少执行一次B. do-while 循环由do 开始,用while 结束,在while( 表达式) 后面不能写分号C. 在do-while 循环体中,一定要有能使while 后面表达式的值变为零(" 假") 的操作D. do-while 的循环体可以是复合语句、是非判断题 ( 每题 1 分,共 15 分)C 语言规定,标识符中的字母一般区分大、小写。
T表达式 i++ 与 ++i 在任何场合功能完全相同。
在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同、多项选择题( 每题 1 分,共 5 分)1. 若要求在 if 后一对圆跨括号中表示 a 不等于 0 的关系 , 则不能正确表示这一关系的表达式为 ( ABC ).A .a<>0B .!aC .a=0D .aE .a!=02. 选出所有合法的常量 ( CEGIJ ) 。
A . 3e22.5B .-e-3C .-.1e-1D .'BASIC'E .'\045'F . 0fdG .0xfdaLH .e8I . '\\'J . "\""3. 以下关于函数原型说法错误的是: (ADFHI)(1) 对变量的定义”和“声明”是一回事,对函数的“定义”和“声明”也是一回事。
(2) 在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。
(3) 如果在定义函数时不指定函数类型,系统会隐含指定函数类型为 int 型。
(4) 调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。
(5) 如果被调函数的定义出现在主调函数之前,可以不必加以声明。
1. 2.控制台标准输入设备一般是指键盘 3.4. 使用 while 和 do-while 循环时,循环变量初始化的操作应在循环语句之前处理循环体中continue 语句的作用是结束整个循环的执行5. 关系表达式的值是 0 或 1。
T6. 7. 若有说明:int a[3][4]={0},则只有元素 a[0][0] 字符串作为一维数组存放在内存中可得到初值 0。
T 8. 字符数组中的一个元素存放一个字符T 。
9. 字符数组中的最后一个字符必须是 '\0' 。
F 10.11. 形参为指针变量时,实参必须是数组名。
F 用数组名作函数参数时传递的是数组的值。
F12. 全局变量可以被任何一个函数中的任何一个表达式使用13. 一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
14.15.(6) 所有的函数之间可以互相调用。
(7) 在C语言中,所有函数都是平行的,一个函数不能从属于另一个函数,即不能嵌套定义的。
(8) 如果函数没有返回值,在定义时可以省略函数类型。
(9) 在C 语言中,任何函数的定义都不允许为空。
(10) C 语言规定,实参变量对形参变量的数据传递是“值传递”。
4. 请从下面关于指针的叙述中, 选出5 个正确的叙述。
(ABDEH)(1) 指针即地址。
(2) 指针须先赋值后使用。
(3) 当指针p 指向数组a 的首址后,由于p 和a 都能引用数组元素,所以这里p 和a 是等价的。
(4) int *p 表示定义了一个指向int 类型数据的指针变量p。
(5) 数组的指针是指数组的起始地址。
(6) 若有定义int a[4],*p=a, 则p++ 后p 指向数组a 所占内存的第二个字节。
(7) 使用指针变量作函数参数采取的是"值传递"的方式。
(8) 相同类型的指针可以进行减法运算。
(9) 指针变量和许多变量一样可以进行四则运算。
(10) 指针p 指向数组元素a[2] ,若要其指向a[4] ,执行p=p*2 即可。
5. 以下关于数组的叙述中,5 个最确切的说法是:(BEGHI )(1) 在声明一个数组变量时必须指定大小。
(2) 必须用常量表达式来说明一个数组变量的大小。
(3) 在对数组进行初始化时大括号中的数据个数必须和数组的大小相同。
(4) 有变量定义int a[3]={0,1,2},b[3]; ,可以用b=a ,使数组b 的每个元素和a 的每个元素相等。
(5) 在C 语言中,可以将字符串作为字符数组来处理。
(6) 定义了字符数组char c[11]; 为了给它赋值,可以用c="china"; 。