c语言模拟试卷A
C语言程序设计A期末模拟试题(1-4)
C语言程序设计A期末模拟试题一一、单项选择题〔每题2分,共20分〕1.由C++目标文件连接而成的可执行文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2.x>0 && x<=10的相反表达式为〔〕。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>103.在下面的一维数组定义中,哪一个有语法错误。
〔 C 〕A. int a[]={1,2,3};B. int a[10]={0};C. int a[];D. int a[5];4.假定p是具有double类型的指针变量,那么表达式++p使p的值〔以字节为单位〕增加〔 C 〕。
A. 1B. 4C. sizeof(double)D. sizeof(p)5.当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( B )。
A. 直接按系统设定的标准方式搜索目录B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C. 仅仅搜索源程序所在目录D. 搜索当前逻辑盘上的所有目录6.假定指针变量p定义为“int *p=new int(100);〞,要释放p所指向的动态内存,应使用语句〔 A 〕。
A. delete p;B. delete *p;C. delete &p;D. delete []p;7.假定AA为一个类,a为该类公有的数据成员,px 为指向该类对象的一个指针,那么访问px所指对象中数据成员a的格式为〔〕。
8.栈具有〔〕的操作特性。
A. 先进先出B. 先进后出C. 进出无序D. 进出任意9.对于任一个类,用户所能定义的构造函数的个数至多为( )。
A. 0B. 1C. 2D. 任意个10.以下对派生类的描述中错误的说法是:〔〕。
C语言试题(第二学期)A及答案
C语言试题(第二学期)A及答案重庆理工大学考试试卷考试科目:C语言试题(第二学期)A卷共4页班次姓名学号成绩一.选择填空(选择一个正确答案,将其对应字母填在横线上)(20分)1.一个C程序的执行是从B;A:子程序开始B:main函数开始C:第一个函数D:第一条语句2.C语言中,正确的字符常量是B;A:“C”B:‘\n’C:‘ABC’D:‘1234’3.若a是float型变量,b是char型变量,以下输入语句合法的是B;A:canf(“%6.2f%f”,&a,&b)B:canf(“%6.2f%c”,&a,&b)C:canf(“%6.2d%”,&a,&b)D:canf(“%6.2f%c”,a,b)4.TurboC语言中,int类型和long类型数据在内存中分别占B个字节;A:4,4B:2,4C:2,2D:2,35.intr=0123,表示是D数;A:十进制;B:字符;C:十六进制;D:八进制6.在if(条件)语句执行时,当条件为D时C语言认为是“真”;A:TRUE;B:.T.C:0D:非零值7.如果a[1]=--3,执行b[2]=++a[1];c[3]=a[1]++;b[2]和c[3]的值是;A:2,2;B:4,4;C:3,3;D:3,48.设inta、b、c;且a=10;b=4;a/=b;则表达式(a/bb+a:b-a)之值是C;A:0.5B:6;C:2;D:-29.对于int某p,arry[10];正确的赋值语句是__A;A:p=arry;B:某p=&arry;C:p=&arry;D:某p=&arry[9];10.设int某,a,b,c;计算表达式某=(a=4,b=16,c=32)后,某的值是C;A:4B:16C:32D:5211.对于inta[][3]={1,2,3,4,5,6,7,8,9,10}说明语句,且有:数据元素a[1][2]+a[3][1]的值为____D_____;A:15B:16C:8D:612.intn=97;witch(n/10-4){cae2:n=n+1;cae3:n=n某2;cae5:n=n-2;cae7:n=n+3;default:n=n/2;}n的正确结果值是__49______A:95B:96C:97D:98?13.已知inti=j=2;char某a="abcdefg",c;执行c=某(a=a+3);c的值是______C____。
《C语言程序设计基础》--试卷A及参考答案
《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
C语言模拟题十套附答案 c语言教程
第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是(c)A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为(c)A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为(c)A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是(a)A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是(a)A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是(b)A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为(b)A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是(b)A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是(d)A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是(d)void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为(a)A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
C语言程序设计A模拟考核试题及解答
C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。
A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。
A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。
A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。
A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。
A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。
A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。
c语言模拟考试题及答案
c语言模拟考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,哪个关键字用于声明一个变量?A. defineB. varC. letD. int答案:D3. 下列哪个选项是C语言中的整型常量?A. 0x1AB. 1.23C. 1e2D. "123"答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. lengthof()5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A和B答案:D6. C语言中,哪个关键字用于声明一个函数?A. functionB. defC. defineD. void答案:D7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copy()C. duplicate()D. copystr()答案:A8. 下列哪个选项是C语言中的浮点型常量?A. 3.14B. 3.14e2C. 3.14E2D. A和C答案:D9. 在C语言中,哪个关键字用于声明一个数组?B. listC. tableD. int[]答案:D10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. A和B答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。
答案:#define2. C语言中,使用________函数可以将一个浮点数转换为字符串。
答案:sprintf3. 在C语言中,使用________关键字可以跳过当前循环的剩余部分,继续下一次循环。
答案:continue4. C语言中,使用________关键字可以立即退出循环。
高级语言程序设计(C语言)A试卷与答案
《高级语言程序设计(C语言)》A试卷和参考答案一、选择题(每题2分,25题,共50分)下列各题A、B、C、D四个答案中,只有一个选项是正确的,请将每题的正确答案写在答题纸对应序号的横线上,答在试卷上不能得分1、对于C语言的函数,下列叙述中正确的是(1)A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义和调用都有不能嵌套C、函数的定义和调用都能嵌套D、函数的定义能嵌套,但函数调用不能嵌套2、以下程序的输出结果是( 2 )。
main(){int x=1,a=2, b=3;switch(x){ case 0: b=b+a;break;case 1: a=b+a;case 2: ++a;++b;}printf("a=%d,b=%d\n",a,b);}A、a=6,b=4B、a=5,b=3C、a=6,b=3D、a=5,b=43、以下程序的输出结果是( 3 )。
main(){int a=1,c;c=7/2||++a;printf("%d,%d ",a,c);}A、1,1B、0,1C、1,3D、2,34、若:char s[30][30];则数组元素的非法引用是(4)。
A、s[20][9]B、s[29+1][2*3]C、s[3][29]D、s[9][30-1]5、有以下定义语句:int a[10]={3, 9, 11, 14, 20, 32, 60}, *p;p=a;则++(*++p) 的值是(5)A、9B、11C、22D、106、下列可以正确表示字符型常数的是( 6 )A、"a"B、"\010"C、'\n'D、h7、若定义语句float bb[100],则该数组array元素的上、下限为( 7 ) 。
A、0,99B、99,0C、100,1D、0,1008、下列各组字符序列中,可用作C语言程序标识符的是(8)。
A、SBSDB、_1$234C、spr#itD、4_cf_1在9、已知:char ch='t';则下列表达式的值是( 9 )ch = (ch>='a'&&ch<='z') ? (ch-32) : ch;A、TB、AC、ZD、t10、以下程序段的输出结果是( 10 ) 。
c语言试卷A卷及答案
考试课程: 班级: 学号: 姓名: 注:学生 不 得 在 草 稿 纸上 答 题,答 题 不 得 超 出 框 体。
………………………………………………装…………………………订…………………………线………………………………………………考试课程:班级:学号:姓名:……………………………………装…………………………订…………………………线………………………………………………default:printf(“#”);break;}default:printf(“&”);运行结果:} printf (“\n”);}3.#include <stdio.h>main(){ int i;for (i=1;i<=5;i++)switch (i%5){ case 0:printf(“*”);break;case 1:printf(“#”);break;default:printf(“\n”);case 2:printf (“&”);运行结果:}}4.main(){ int i,b,k=0;for (i=1;i<=5;i++){b=i%2;while (b——>=0)k++;} 运行结果:printf (“%d,%d”,k,b);}5.#include <stdio.h>main(){ char ch[7]={“12ab56”};int i,s=0;for (i=0;ch[i]>=…0‟&&ch[i]<=…9‟;i+=2)s=s*10+ch[i]-…0‟;运行结果:printf (“%d\n”,s);}6. main(){ int a=2,i;for (i=0;i<3;i++)printf (“%4d”,f(a));}f(int a){ int b=0;static int c=3;b++;c++;运行结果:return(a+b+c);}四、编写程序(20分)1.从键盘输入的10个整数中,找出第一个能被7整除的数。
c语言a类卷子题库及详解答案
c语言a类卷子题库及详解答案C语言A类卷子题库及详解答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 3variableB. variable-nameC. variable#nameD. variable_name答案:D3. 以下哪个语句可以用来输入一个整数?A. scanf("%d", &number);B. printf("%d", number);C. cout << number;D. input("%d", &number);答案:A4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 下列哪个选项是C语言中的数组声明?A. int numbers;B. int numbers[10];C. int numbers(10);D. int [10] numbers;答案:B二、填空题6. 在C语言中,若要定义一个字符变量来存储字符'A',可以使用以下语句:________。
答案:char ch = 'A';7. C语言中,用于实现条件判断的关键字是________。
答案:if8. 在C语言中,循环结构包括________和________。
答案:for, while9. 要声明一个指向整型的指针变量,可以使用以下语句:________。
答案:int *ptr;10. C语言中,用于定义一个结构体的关键字是________。
答案:struct三、简答题11. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储一系列相同类型的元素,而指针是一个变量,它存储了另一个变量的内存地址。
数组名是一个指向数组首元素的指针常量,而指针变量可以被重新赋值指向不同的内存地址。
C语言试卷-A
试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)一、选择题(本题总分50分,每小题2分)1、一个C程序的执行是从( )A. 本程序的main 函数开始,到main函数结束B. 本程序文件中的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main 函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2、以下关于C程序中数组的描述正确的( )A. 数组的大小是固定的,但可以有不同类型的数组元素B. 数组的大小是可变的,但所有元素的类型必须相同C. 数组的大小是固定的,且所有元素的类型必须相同D. 数组的大小是可变的,可以有不同类型的数组元素3、若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为( )A.7B.8C. 9D. 104、在下面关于形参与实参的叙述中,正确的是( )A. 形参是虚设的,所以它始终不占存储单元B. 实参与它所对应的形参同名时占用相同的存储单元C. 实参与它所对应的形参占用相同的存储单元D. 实参与它所对应的形参占用不同的存储单元5、以下关于运算符优先顺序的描述中正确的是( )A.关系运算符<算术运算符<赋值运算符<逻辑与运算符B.逻辑与运算符<关系运算符<算术运算符<赋值运算符C.赋值运算符<逻辑与运算符<关系运算符<算术运算符试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)D.算术运算符<关系运算符<赋值运算符<逻辑与运算符6、下面正确的字符常量是( )A. "c"B. '\\"C. 'w'D. ''7、变量的指针,其含义是指变量的( )A. 值B. 地址C. 名D. 一个标志8、在宏定义#define PI 3.14159中,用宏名PI代替一个( )A. 常量B. 单精度数C. 双精度数D. 字符串9、在下列关于typedef语句的描述中,错误的是 ( )A. 用typedef只是对原有的类型起个新名,没有生成新的数据类型B. typedef可以用于变量的定义C. typedef定义类型名可嵌套定义D. 利用typedef定义类型名可以增加程序的可读性10、下面不正确的字符串常量是( )A. 'abc'B. "12'12"C. "0"D. ""11、若有代数式 3ae/bc , 则不正确的C语言表达式是( )A. a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*312、在位运算中,操作数每右移一位,其结果相当于( )A. 操作数乘以2B. 操作数除以2C. 操作数除以4D. 操作数乘以413、若a=12,则计算表达式a+=a-=a*=a后a的值为( )A.144B.-144C. 0D. 1214、已知字符'A'的ASCII码是65,字符变量c1的值是'A', c2的值是'D',执行语句printf("%d,%d",c1,c2-2);后,输出结果是( )A. A,BB. A,68C. 65,66D. 65,68试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)15、调用一个函数,此函数中没有return语句,下列说法正确的是( )A. 没有返回值B. 返回若干个系统默认值C. 能回复一个用户所希望的函数值D. 返回一个不确定的值16、在C语言中,字符型数据在内存中的存储形式是( )A. 补码B.反码C.原码D. ASCII码17、若有以下定义: int k=7,x=12;,则能使值为3的表达式是( )A. x%=(k%=5)B. x%=(k-k%5)C. x%=k-k%5D. (x%=k)-(k%=5)18、在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][1]的值是( )A. 4B. 1C. 2D. 519、若有说明int a[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是( )A. 2B. 3C. 4D. 无确定值20、程序char s[]="ABC",*p=s;printf("%c\n",*(p+3));的运行结果是( )A. 67B. 字符'C'C. 字符'C'的地址D. 空零(无显示)21、下面四组选项中,均是C语言关键字的选项是( )A. auutoB. switchC. signedD. ifenum typedef union structinclude continue scanf type22、以下能正确地定义整型变量a,b和c,并为c赋初值5的语句是( )A. int a=b=c=5;B. a=b=c=5;C. a=5,b=5,c=5;D. int a,b,c=5;23、在下列代码段中,不正确的是( )A. int a[5], *p;p=&a;B. int a[5], *p;p=a;C. int a[5];int *p=a;D. int a[5],;int *p1, *p2=a;*p1=*p2;24、如要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是( )试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)A. "ab+"B. "wb+"C. "rb+"D. "ab"25、以下描述中正确的是( )A. break语句只能用在循环体内和switch语句体中B. continue语句的作用是:使程序的执行流程跳出包含它的所有循环C. break语句只能用在switch语句体中D. 在循环体内,使用break语句和continue语句的作用相同二、填空题(本题总分20分,每空4分)1、下面程序的运行结果是【1】( )#include"stdio.h"main( ){ int i,r;char s1[80]="bus";char s2[80]="book";for(i=r=0;s1[i]!='\0'&&s2[i]!= '\0';i++){ if(s1[i]==s2[i]) i++;else {r=s1[i]-s2[i]; break;}printf("%d",r);}2、以下程序的功能是计算:s=1+12+123+1234+12345,请填空:# include "stdio.h"main ( )试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷){ int t=0,s=0,i;for(i=1;i<=5;i++){ t=i+【2】( ) ;s=s+t;}printf("s=%d\n",s);}3、以下程序的运行结果是【3】( )# include "stdio.h"main ( ){ int i=1;while(i<=9)if(++i%3!=2) continue;else printf("%d",i);printf("\n");}4、以下程序运行的结果是【4】( )main( ){ char a=-8;unsigned char b=248;printf("%d,%d",a>>2,b>>2);}5、以下程序的输出结果是【5】( )fun(int a, int b, int c){ c=a*a+b*b;试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)}Main(){ int x=22;fun(4,2,x);printf("%d",x);}三、程序分析题(本题总分10分,每小题5分)1、若运行以下程序时,从键盘输入2473<CR>,<CR>表示回车,则下面程序的运行结果是( )# include"stdio.h"main( ){ int c;while( (c=getchar( ))! ='\n')switch(c-'2'){ case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}printf("\n");}试卷编号拟题教研室(或教师)签名李晓波教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C语言程序设计课程代号000004专业层次(本、专)考试方式(开、闭卷)2、以下程序执行后输出的结果是( )# include"stdio.h"int a=2;int f(int *a){ return (*a)++;}void main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}四、编程题(本题总分20分,每小题10分)1、采用结构体类型变量编一程序,实现输入学生的学号、英语期中和期末考试成绩,然后输出其平均成绩,期中和期末考试成绩分别占总分的30%和70%。
C语言试题及答案A
绝密★启用前学院学年第二学期期末考试级 专业 《C 语言》试卷A一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、( )是构成C 语言程序的基本单位。
A 、函数B 、过程C 、子程序D 、子例程 2、以下说法中正确的是( )。
A 、C 语言程序总是从第一个定义的函数开始执行B 、在C 语言程序中,要调用的函数必须在main( )函数中定义 C、C 语言程序总是从main( )函数开始执行D 、C 语言程序中的main( )函数必须放在程序的开始部分 3、下列关于C 语言的说法错误的是( ) 。
A 、C 程序的工作过程是编辑、编译、连接、运行B 、C 语言不区分大小写。
C 、C 程序的三种基本结构是顺序、选择、循环D 、C 程序从main 函数开始执行4、下列正确的标识符是( )。
A 、-a1B 、a[i]C 、a2_iD 、int t 5、C 语言中的简单数据类型包括( )。
A 、整型、实型、逻辑型B 、整型、实型、逻辑型、字符型C 、整型、字符型、逻辑型D 、整型、实型、字符型 6、在C 语言程序中,表达式5%2的结果是( )。
A 、2.5 B 、2 C 、1 D 、37、如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )。
A 、3B 、4C 、0D 、1 8、C 语言中,关系表达式和逻辑表达式的值是( )。
A 、0B 、0或1C 、1D 、‘T’或’F’ 9、下面( )表达式的值为4.A 、11/3B 、11.0/3C 、(float)11/3D 、(int)(11.0/3+0.5)10、设整型变量 a=2,则执行下列语句后,浮点型变量b 的值不为0.5的是( )。
A 、b=1.0/aB 、b=(float)(1/a)C 、b=1/(float)aD 、b=1/(a*1.0) 11、在C 语言中对一维整型数组的正确定义为( )。
C语言考试A1-试卷和答案
电子科技大学网络教育考卷(A 卷)(20 年至20 学年度第 学期)考试时间 年 月 日(120分钟) 课程 C 语言 教师签名_____一、单项选择题(每题2分,共30分) 1.以下描述正确的是( C )A .goto 语句只能用于退缩出多层循环。
B .switch 语句中不能出现continue 语句。
C .只能用continue 语句中来终止本次循环。
D .在循环语句中break 语句不独立出现。
2.一个C 程序的执行是从( A )A .C 程序的main 函数开始,到main 函数结束。
B .本程序的第一个函数开始,到本程序最后一个函数结束。
C .本程序的main 函数开始,到本程序文件的最后一个函数结束。
`D .本程序的第一个函数开始,到本程序main 函数结束。
3.C 语言中,要求运算数必须都是整数的运算符是( C )。
A.* B.- C.% D.+4.假定 int i=3,j=4; 执行语句: printf("%d,%d,%d\n",i+++j,i,j); 之后,其输出结果为:( C ) A.7,4,4 B. 8,4,4 C. 7,3,4 D.7,3,5 5.对break 语句的正确描述。
( A )A .break 语句在while 语句中,立即终止执行while 语句。
B .break 语句不能用于循环语句之外的语句。
C .break 语句与continue 语句功能相同。
D .b reak 语句可以带参数,也可以不带。
6.在C 语言中,下面那一个不是正确的概念( A )A. 所有循环语句都要求至少要执行一次循环体。
B. goto 和if 语句能构成循环语句。
C .循环过程只能包含,不能交叉。
D .循环体可以是一条语句。
7.以下对二维数组a 的正确说明是( C )A. int a[ 3 ] [ ]; B. float a( 3, 4); C. int a[ 3 ] [ 4 ] D.float a( 3, )( 4 ); 8.对函数的正确描述( C )A .在C语言中可以嵌套定义函数。
C语言模拟试卷及其答案
2011―2012 学年第一学期《C 语言程序设计》模拟试卷(A)一、单项选择题(每题1分,共30分)1.以下选项中叙述正确的是________。
A )C 语言程序总是从第一个定义的函数开执行B )在C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行D )C 语言程序中的main()函数必须放在程序的开始部分2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。
A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。
A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。
A)2b B )x_1 C )a@b D)3#h5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。
A )0~255B )0~32767C )0~65535D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。
A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1;7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。
A )8 B )10 C )12 D )148.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。
A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。
A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z );10.华氏温度f 和摄氏温度c 的关系是)32(95-=f c 。
C语言模拟题
C语言模拟题(一)一、选择题1、以下字符中不是转义字符的是( A)。
A '\c'B、'\b'C '\\'D '\a'2、设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为(A)A 0B、144C 132D 123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(tv'a'));B、3C 2D 05k是整型,则以下程序段的执行结果是:(B)k=-3;if(kv=O)printf("####") elseprintf("&&&&");A ####B、有语法错误,无结果C &&&&D ####&&&& 6设j和k都是int类型,则下面的for循环语句(D) for(j=0,k=0;jv=9&&k!=876;j++)scanf("%d",&k);A最多执行9次B、是无限循环C循环体一次也不执行D最多执行10次7以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C从多层嵌套的外层循环中退出时,只能使用goto语句D在循环体内使用break和continue语句的作用相同8以下能对一维数组a进行正确初始化的语句是(B)。
样卷A《C语言程序设计》
C语言程序设计样卷A一、单选题(每小题2分,共40分)1.下面程序的输出是(B)。
main( ){ int x = 023;printf( "%d\n",--x);}A.17B.18C.23D.242.在C语言中,设int型变量占2个字节,则不正确的int类型常数是(A)。
A.62768B.12C.037D.0xa3.当a=1,b=2,c=3时,执行以下语句后a,b,c的值分别是(D )。
if(a>c)b=a;a=c;c=b;A.3,2,1B.1,2,3C.3,1,1D.3,2,24.以下叙述中正确的是(B)。
A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套5.以下叙述中不正确的是(B)。
A.在函数中,通过return语句获得返回值B.在函数中,如果没有return语句则不带回返回值C.在函数中,可以有多条return语句D.在C中,调用函数不必在一条独立的语句中完成6.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(C)。
A.p+1B.a+1C.a++D.++p7.下面程序的输出是( A )。
main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A.3B.4C.1D.28.执行下面程序中的输出语句后,a的值是(C)。
main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}A.65B.20C.15D.109.下面程序的输出是(C)。
main ( ){ int a = - 1, b = 4, k;k = (a++ <=0)&&(! (b-- <= 0));printf("%d %d %d \n",k,a,b);}A.0 0 3B.0 1 2C.1 0 3D.1 1 210.以下程序的输出结果是(A)。
c语言程序设计a试题及答案
c语言程序设计a试题及答案一、选择题(每题2分,共10分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. ==D. &&答案:B3. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable$2D. variable_2答案:D4. C语言中,用于定义一个函数的关键字是?A. functionB. defineC. defD. int答案:D5. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. char str[] = "Hello", "World";答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 如果希望在C语言中定义一个全局变量,应该将其定义在________区域。
答案:函数外部3. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float4. 在C语言中,________关键字用于定义一个数组。
答案:array5. 如果希望在C语言中定义一个字符型变量,应该使用关键字________。
答案:char三、简答题(每题5分,共20分)1. 请简述C语言中指针的概念。
答案:指针是C语言中一个特殊的变量,它存储的是另一个变量的内存地址。
2. 解释C语言中数组和指针的关系。
C语言A试卷正文
A)整型,实型,逻辑型B)整型,实型,布尔型C)整型,实型,字符型D)整型,实型,指针型
7. C浯言中的构造类型包括。
A)数组型,结构体型,联合体型B)结构体型,联合体型,指针型
C)结构体型,联合体型,枚举类型D)数组型,结构体型,联合体型,指针型
8.若a是float型变量,则表达式a=l,a+1,a+=a的值为。
7.假设公民交纳个人所得税的税率如下(a代表个人收入,r代表税率):
0 (a<1000)
r=5% (1000<=a<2000)
r = r=10% ( 2000<=a<3000)
r=15% (3000<=a<4000)
r=20% (a>=4000)
以下程序要求从键盘上输入个人收入,根据以上的税率计算出应付的税金并输出。请
ch=(ch>='a'&&ch<='z')?(ch-32):ch
上面表达式的值是
A)'A'B)'a'C)'Z' D)'z'
5.下面程序的输出是
main()
{int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d\n",k,a,b);}
A)0 0 3 B)0 1 2C)1 0 3D)1 1 2
if(a=b+c)
if(a>0) b=c=a;
else if(a==0)a=b=c=0;
else a=b=c=1;
c语言测试A卷
测试A卷一、单选题(40分)第1题(2.0分)题号:1939以下描述中,正确的是()。
A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第2题(2.0分)题号:1944执行下面程序后,输出结果是()。
main(){ a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}int max(x,y)int x,y;{ int z;if(x>y) z=x;else z=y;return(z);}A:45B:27C:18D:72答案:A第3题(2.0分)题号:1853以下标识符中,不能作为合法的C用户定义标识符的是()。
A:a3_b3B:voidC:_123D:IF答案:B第4题(2.0分)题号:1880下列语句的结果是()。
main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3B:3,4C:4,3D:4,4答案:D第5题(2.0分)题号:1920下列程序的输出结果是()。
main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break; case 1:b++;break; }case 2:a++;b++;break;case 3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第6题(2.0分)题号:1910执行下列语句后,a和b的值分别为()。
int a,b;a=1+'a';b=2+7%-4-'A';A:-63,-64C:1,-60D:79,78答案:B第7题(2.0分)题号:1917在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是()。
C语言模拟题十套附答案
第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. ‘a12’D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. ‘//”C. ‘W’D. “\32a”17、以下(A)是不正确的字符串常量A. ‘abc’B. “12’12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ‘A’与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. ‘A’*’B’是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. B.C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=’A’;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》模拟试卷A (闭卷考试)一、选择题(每题2分,共20分)1、以下不正确的C语言标识符是。
A. ABCB. abcC. a_bcD. ab.c2、设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为:。
A. floatB. charC. intD. double3、根据下述定义,可以输出字符’A’的语句是。
struct person{ char name[11];struct{ char name[11];int age;}other[10];};struct person man[10]={{ "Jone",{"Paul",20}},{"Paul",{"Mary",18}},{"Mary",{"Adam",23}},{"Adam",{"Jone",23}}};A. printf("%c",man[2].other[0].name[0]);B. printf("%c",other[0].name[0]);C. printf("%c",man[2].(*other[0]));D. printf("%c",man[3].name);4、以下说法中正确的是:。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分5、在定义int a[10];之后,对a的引用正确的是。
A. a[10]B. a[6.3]C. a(6)D. a[10-10]6、以下不能正确赋值的是。
A. char s1[10];s1="test";B. char s2[]={’t’,’e’,’s’,’t’}C. char s3[20]= "test";D. char s4[4]={ ’t’,’e’,’s’,’t’}7、设i和x都是int类型,则for循环语句。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);A. 最多执行10次B. 最多执行9次C. 是无限循环D. 循环体一次也不执行8、C语言中表示“在使用x之前,先使x的值加1”的正确方式是。
A. ++xB. x++C. +xD. +x+9、设有说明int (*ptr)[M]; 其中ptr是。
A. M个指向整型变量的指针B. 指向M个整型变量的函数指针C. 一个指向具有M个整型元素的一维数组的指针D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量10、在下面关于指针的说法中,错误的一条是。
A. 变量的指针就是变量的地址B. 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量C. 一个指针变量只能指向同一类型的变量D. 指针变量中只能存放地址(指针)二、读程序写结果(每题3分,共21分)1、以下程序运行后输出的结果是:#include <stdio.h>void main(){ int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}2、若输入B,以下程序的输出结果是:void main(){ char grade;scanf("%c",&grade);switch(grade){ case 'A': printf(">=85");case 'B':case 'C': printf(">=60");case 'D': printf("<60");default: printf("error");}}3、以下程序的输出结果是:void ast(int x,int y,int *cp,int *dp){ *cp=x+y; *dp=x-y; }main(){ int a,b,c,d;a=6; b=3;ast(a,b,&c,&d);printf("%d,%d\n",c,d);}4、以下程序的输出结果是:main(){ int a[2][3]={1,3,5,7,9,11};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf("%d\n",m);}5、以下程序的输出结果是:main(){ int i,j;for(i=0;i<5;i++){ for(j=0;j<5;j++)if(i==j || i+j==4)printf("*");elseprintf("+");printf("\n");}}6、以下程序的输出结果是:main(){ int k=4,m=1,p;p=func(k,m); printf("%d,",p);p=func(k,m); printf("%d\n",p); }int func(int a,int b){ static int m=0;int i=1;i+=m+1; m=i+a+b;return m;}7、以下程序的输出结果是:main(){ char s[]="china",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}三、程序填空(每空2分,共20分)1、将一个数组中的元素按逆序重新存放。
例如原来的顺序为:8,6,5,4,1, 要求改为:1,4,5,6,8。
#define N 7main(){ int a[N]={12,9,16,5,7,2,1},k,s;printf("\n 初始数组:\n");for (k=0;k<N;k++)printf("%4d",a[k]); for (k=0;k< (1) ;k++) { s=a[k]; a[k]= (2) ; (2) =s;}printf("\n 交换后的数组:\n"); for (k=0; (3) ;k++)printf("%4d",a[k]);}2、用递归方法求N阶勒让德多项式的值,递归公式为P n x n n x p x n p x n n n n n ===-⋅⋅--⋅>⎧⎨⎪⎩⎪--101211112()()(()()()())/()#include<stdio.h>main(){ float pn();float x,lyd;int n;scanf("%d%f",&n,&x);lyd= (1)printf("pn=%f",lyd);}float pn(float x,int n){ float temp;if (n==0) temp= (2)else if (n==1) temp= (3)else temp= (4)return(temp);}3、在数组中同时查找最大元素下标和最小元素下标,分别存放在main函数的变量max和min中。
#include <stdio.h>void find(int *a,int *max,int *min){ int i;*max=*min=0;for(i=1;i<n;i++)if(a[i]>a[*max]) (1) ;else if(a[i]<a[*min]) (2) ;return;}main(){ int a[]={5,8,7,6,2,7,3};int max,min;find( (3) );printf("%d,%d\n",max,min);}四、填空题(每空1分,共10分)1、已知整型变量a=6,b=7,c=1,则表达式 (a*3-b+c)/5 的值是。
2、当a=3,b=4,c=3时,表达式 a==c的值为,a!=c的值为。
3、int (*p)(); 定义的p是一个。
4、数学公式 y x b a y ++=)(21, 写成C 语言表达式是 。
5、若w=5,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z 的结果为 。
6、C 语言可以处理的文件类型是 和 。
7、如下图所示,在链表中p1和p2两个结点间插入p 所指向的节点的关键语句是:和 。
其中结构体数据类型和指针变量的定义如下:struct stu{ int a;float b;struct stu *next;} *head, *p1,*p2,*p;五、编程题(第1题9分,第2、3题各10分,共29分)1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数, 其各位数字立方和等于该数本身。
例如 153是一个水仙花数,因为 153=153333++。
2、任意输入一个5×6矩阵,求出每一行的和放到一个一维数组中,输出此矩阵及其每一行的和。
3、任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。
要求:判断一个数是否为素数用函数实现;排序用函数实现。