《C程序设计》期末考试练习卷B参考答案

合集下载

《C语言程序设计》 2016-2017学年第一学期期末试卷B卷

《C语言程序设计》 2016-2017学年第一学期期末试卷B卷

河海大学2016—2017学年第一学期《C语言程序设计》期末试卷(B)(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

《C语言程序设计》期末考试试卷B卷

《C语言程序设计》期末考试试卷B卷

广州轻工职业学校(大源校区)2015-2016学年第二学期《C语言程序设计》期末考试试卷(B卷)注意事项1、请首先按要求在试卷的标封处填写您的专业、姓名、学号和所在的班级名称;2、请仔细阅读各种题目的回答要求,在规定的位置填写您的答案;3、不要在试卷上乱写乱画,不要在标封区填写无关内容。

4、请将答案填写到答题卡的相应位置。

使用对象:15计算机设计班考试时间:120分钟考试方式:考试一、单项选择题(每小题1分,共计40分):1.C语言中运算对象必须是整型的运算符是A)%= B)/ C)=D)<=2.若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b 3.若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i;C)a=a++=5;D)a=int(i);4.若有定义:int a=7;float x=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是A)B)2.750000 C)D)5.以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值f6.已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)5 7.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)int B)float C)double D)不确定8.在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码9.字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)和01110111B)01000101和01100011C)00110101和00110111D)01100101和0110011110.不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量11.设有int x=11;则表达式(x++*1/3)的值是A)3 B)4 C)11 D)12 12.以下程序的输出结果是main(){ int a=21,b=11; printf("%d\n",- -a+b,- -b+a); }A)30 B)31 C)32 D)33 13.假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17 B)16 C)15 D)1414.已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-6015.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+)/B)m=n*100+,n=m/C)n=n*100+D)n=(n/100+)*16.sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式17.在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定18.以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C 语言表达式是A)x/y*z B)x*(1/(y*z))C)x/y*1/z D)x/y/z 19.下列关于复合语句和空语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束20.下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾21.以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点22.以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义23.以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分24.C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后25.以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面26.下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用27.以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符28.以下说法错误的是A)一个算法应包含有限个步骤B)在计算机上实现的算法是用来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D)算法的目的是为了求解29.算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A)有零个输入或多个输入B)高效性C)有穷性D)确定性30.10 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句31.以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序32.C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue33.C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型34.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符35.下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof36.下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018 B)0abc 017 0xa C)010 -0x11 0x16 D)0a12 7ff -123 37.下列数据中,不合法的C语言实型数据的是A)B)123e3 C)D)38.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000; B)a=4000*10; C)a=30000+10000; D)a=4000L*10L;39.若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定40.有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6 B)7 C)8 D)9二、多项选择题(每小题2分,共10分):1. 下面哪些说法是正确的()A.C语言是一门结构化程序设计语言B.它虽是高级语言,但由于能嵌入汇编,并实现低级别功能(硬件操作),C语言有时也叫中级语言C.C语言是实现面向对象编程最佳的程序设计语言D. C语言有移植性好等特点2.关于开发C程序,下面说法正确的是:()A)先用C语言编写程序源代码,然后通过解释器解释执行B)先用编写C源代码,然后编译成目标文件,连接生成可执行文件C)先用C语言编写程序源代码,然后编译成目标文件D)C语言的可移植性,是在源代码级的3.下面哪些是C的特点()A)解释执行,可调试B) 语言简洁、紧凑,使用方便、灵活;C)运算符极为丰富D)生成目标代码质量高,程序执行效率高E)可移植性好4.哪些错误是运行期错误()A)栈溢出B)表达式错误C )缺少;作为结束D )非法内存访问5.下列哪些错误是编译阶段错误( )A )栈溢出B )表达式错误C ).缺少分号(;)作为结束符D )非法内存访问(二)主观题部分三、填空题(每空1分,共18分):1.C 语言具有层次清晰的特点,它用函数作为程序模块以实现程序的 ,从而使得程序易于调试和维护,符合现代编程的风格,所以C 语言是一种 语言。

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案)c语言程序设计期末试题B(含答案)一单项选择题(每小题1分,共10分)1.以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sumB)if -max turbC)txt REAL 3COMD)int k_2 _0012.以下程序的输出结果是( C )#includemain( ){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 33.以下正确的叙述是( C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误//C语言本身没有输入输出语句,其功能须通过调用相关函数来实现。

语言本身没有输入/输出语句其功能须通过调用相关函数来实现。

在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。

宏定义是由源程序中的宏定义命令完成的。

宏代换是由预处理程序自动完成的。

4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( A )A)scanf("%d",pa); B)scanf("%d",a);C)scanf("%d",&pa); D)scanf("%d",*pa);5.若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是( B )A) 0 B) 0.5 C) 1 D) 26.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( D )A) a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 &&a<=0D)a>=10‖a<=07.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是( D )main( ){int a,b,c,d;scanf(“%d,%d,%d%d”,&a,&b,&c,&d);…}A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 48.有以下程序段main( ){int k=0;while(k=1) k++;}则while循环执行的次数是( A )////赋值语句,只要不是0,一直循环A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1次9.以下程序的输出结果是( C )#includemain( ){int a = 5, b = 4, c = 6, d;printf(“%d”,d=a>b?(a>c?a:c): b);}A) 5 B) 4 C) 6 D) 不确定10.下面是对数组a的初始化,其中不正确的是( D )A)a[5]={"ABCD"} B)a[5]={'A','B','C','D'}C)a[5]="" D)a[5]="ABCDE"//a[6]= "ABCDE"因为会自动加一个\0二、填空题(每空2分,共32分)1.结构化程序设计中的三种基本结构是 [1] 、 [2] 、 [3] 。

C语言程序设计期末试题B及答案

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。

不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

C语言程序设计模拟试题期末考试卷AB卷(附答案)

C语言程序设计模拟试题期末考试卷AB卷(附答案)

《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是()。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是()。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()。

A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是()。

A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。

A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是( )。

A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )。

C程序设计期末考试试卷B及答案

一、判断题(每小题1分,共10个小题,共10分)1、fopen函数的作用是打开文件。

( )2、’好'是合法的字符常量。

()3、do…while语句循环体至少执行一次.( )4、函数必须有形参。

()5、对文件进行读写操作之前必须打开该文件.()6、定义数组时,数组长度可以是变量。

( )7、表达式max=(a〉b)?a:b的作用是将a和b二者中较大值赋给max.()8、函数可以嵌套定义。

()9、内存单元的地址与内存单元中的内容是两个不同的内容。

( )10、假设有定义float str[10],则str[10]是对数组元素的合法引用。

()二、选择题(每小题2分,共35个小题,共70分)1、有以下程序,程序运行后的输出结果是()2、以下程序的运行结果是()3、有如下程序,该程序的输出的结果是()【A】12 【B】15 【C】14 【D】134、执行以下程序后,输出的结果是()5、如果函数体中没有return语句,则正确的说法是()【A】函数不能返回。

【B】可以用continue语句返回.【C】可以用break语句返回. 【D】函数执行最后一条语句后返回. 6、以下不正确的说法为( )【A】在不同函数中可以使用相同名字的变量。

【B】形式参数是局部变量。

【C】在函数内的复合语句中定义的变量在本函数范围内有效。

【D】在函数内定义的变量只在本函数范围内有效。

7、下列程序的运行结果是( )8、以下关于宏替换叙述中,错误的是()【A】宏名可以由+号组成【B】替换文本中可以包含已定义过的宏名【C】宏替换占用编译时间【D】宏替换只能是字符替换9、x,y,z被定义为int型变量,若要从键盘给x,y,z输入数据,正确的输入语句是()【A】INPUT x,y,z;【B】read("%d%d%d”,&x,&y,&z);【C】scanf("%d%d%d”,x,y,z);【D】s canf(”%d%d%d",&x,&y,&z);10、设x,y均为整型变量,且x=10,y=3,则以下语句的输出结果是()11、下列能正确表示“x的取值范围在[1,10]或[200,210]之间为真,否则为假”的表达式是。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

c语言程序设计期末考试试卷(B)

void main()
{
int x[4][4]={{1,2,3,4},{3,4,5,6},{5,6,7,8},{7,8,9,10}};
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
*(*(x+i)+j)/=*(*(x+i)+i);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%3d",*(*(x+i)+j));
则以下叙述中正确的是C。
A、ptr是指向一维组数的指针变量
B、ptr是指向int型数据的指针变量
C、ptr是指向函数的指针,该函数返回一个int型数据
D、ptr是一个函数名,该函数的返回值是指向int型数据的指针
重庆邮电大学2006-2007学年第一学期
一、单选题(每题1分共三十分)
1、以下叙述不正确的是D。
4、设有说明;char w;int x;float y;double z;则表达式w-x+z-y值的数据
类型为D。
A、float B、char C、int D、double.
5、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是B。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
A、203 B、204 C、1a4 D、1a6
22、左移运算:int a=16,c=a<<2;变量c的值是。

(精校版)C程序设计期末考试习题(含答案)


二、读程序写结果(每题 6 分,共 24 分)
1. 有以下程序
int f(int a)
{ int b=0;
static c=3;
b=b+1;c=c+1;
return(a+b+c);

void main()
{ int a=2,i;
for(i=0;i〈3;i++) printf(“%2d”,f(a));

执行后输出的结果是

2。 有以下程序
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
void main( )
{ int x=2,y=4;
f(y,&x);
printf(“x=%d,y=%d\n”,x,y);
}
执行后输出的结果是

3。 有以下程序
#define LETTER 1
7。 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是 ( ).
A) p=1;
B) *q=2;
C) q=p;
D) *p=5;
8. 设有定义:int a,*pa=&a; 以下 scanf 语句中能正确为变量 a 读入数据的是 ( )。
A) scanf(“%d”,pa) ;
A)字符 B 和字符 P
B) 字符串 FORTD) 字符串 BASIC 和字符串 PASCAL
10。 执行语句 for(i=1;i++〈4;);后变量 i 的值是( ).
A) 3
B)4
C) 5
D) 不定
一、填空题(每空 2 分,共 18 分)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现代科技学院《C程序设计》课程考试练习卷B参考答案
试题一:阅读程序,选择填空(试题一共3小题,每小题各含4个单项选择填空。

每空2分,共24分)
1.(1)A (2)D (3)B (4)C
2.(5)D (6)A (7)B (8)C
3.(9)A (10)C (11)D (12)B
试题二:阅读程序,选择运行结果(试题二共3小题,每小题各含4个单项选择填空,每空2分,共24分)
1.(1)B (2)C (3)D (4)A
2.(5)C (6)B (7)D (8)A
3.(9)C (10)D (11)D (12)A
试题三:简答题(试题三共12小题,每小题2分,共24分)
1.double x; scanf(”%lf”, &x); 2.循环体执行0次
3.struct book
{ char name[60];
char bk_no[20];
float price;
int quantity;
};
4.int *p=&a; int *q=b; 5.c>=’0’ && c<=’9’
6.有错。

应改为: (1) int a[4]={ 1, 2, 3, 4 }; (2)for(i=0;i<4;i++) 7.有语法错误。

应去除if(i>0)后面的分号。

8.CDEF 9.abcd 10.stu[2].n=3; p->score=90;
11.n/100 + n/10%10 + n%10 或者 n/100 + n%100/10 + n%10
12.m=0 n=2
试题四:程序设计(试题四共2小题,每小题14分,共28分)
注:以下答案仅供参考,解法并不唯一
1.输入100个整数,存放在数组a中,计算数组a中所有数组元素的平均值并输出,统计大于平均值的数组元素的个数并输出。

(14分)
解: #include <stdio.h>
main()
{ int a[100],i,sum,count;
double average;
for(i=0,sum=0;i<100;i++)
{ scanf("%d",&a[i]);
sum+=a[i];
}
average=sum/100.0;
count=0;
for(i=0;i<100;i++)
if(average<a[i]) count++;
printf("average=%f\n",average);
printf("大于average的元素个数=%d\n", count);
}
2.(1)定义函数f(x)计算(x+1)2,函数返回值类型是double。

(2)输出一张函数表(如下表所示),x的取值范围是[-1,+1],每次增加0.1,y=(x+1)2。

要求调用函数f(x)计算(x+1)2。

解:#include <stdio.h>
double f(double x)
{ return (x+1)*(x+1);
}
void main()
{ double x, y;
printf(" x y\n");
for(x=-1; x<=1; x=x+0.1)
{ y=f(x);
printf("%5.1f%8.2f\n", x,y);
}
}。

相关文档
最新文档