c语言试题及答案 (2)

合集下载

c语言二级考试试题及答案

c语言二级考试试题及答案

c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。

C语言程序设计试题集及其答案 (2)

C语言程序设计试题集及其答案 (2)

第一章基础知识一.填空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语言程序设计》期中试卷及答案试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y第8题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是(). A:^B:%C:!D:>答案:B第12题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是(). A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0};B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

C语言期末考试试题及答案

C语言期末考试试题及答案

C语言期末考试试题及答案2003C语言试题2一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是()。

A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。

main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534; a=(int)125.521%4; a=5<<2;A 125,31,1B 125,1,20C 125,31,20D 125.534,2,205.设有如下程序段,下面描述中正确的是()。

int k=10; while(k=0) k=k-1;A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次6.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++) printf("%c",'*');printf("\t");}main( ){ for(i=5;i<=8;i++) prt( );}A ***B *** *** *** ***C *** ***D * * *7.在C语言程序中,以下说法正确的是()。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为()。

#define ADD(x) x*xmain( ){ int a=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A d=70B d=80C d=140D d=70010.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。

大一c语言模拟试题二和参考答案

大一c语言模拟试题二和参考答案

C语言测试题一、单项选择题(共30分,每题1分)1. 下列不正确的转义字符是A.\\B.\‘C.074D.\02. 不是C语言提供的合法关键字是A.switchB.cherC.caseD.default3.正确的标识符是()A.?a B.a=2 C.a.3 D.a_34.下列字符中属于键盘符号的是A.\B.\nC.\tD.\b.下列数据中属于“字符串常量”的A.ABCB.“ABC”C.‘ABC’D.‘A’6.c har型常量在内存中存放的是A.ASCII码B.BCD码C.内码值D.十进制代码值7.设a为5,执行下列语句后,b的值不为2的是()A.b=a/2B.b=6-(——a) C.b=a%2 D.b=a>3?2:28.在以下一组运算符中,优先级最高的运算符是()A.<=B.=C.%D.&&9.设整型变量i的值为3,则计算表达式i——i 后表达式的值是()A.0B.1C. 2D.表达式出错10.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是()A.6B.9C.8D.表达式出错11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1B.2C.2.0D.2.512.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果是()A.4B.3C.2D.113.设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是()A.10<a<15B.a= =11 || a= =12 || a= =13 || a= =14C.a>10&&a<15D.!(a<=10)&&!(a>=15)14.若有以下定义:char a、 int b 、 float c 、double d,则表达式a*b+d-c值的类型为()A.floatB.intC.charD.double15.表达式“10!=9”的值是()A.trueB.非零值C.0D.116.循环语句 for (x=0,y=0;(y!=123)|| (x<4);x++);的循环执行()A.无限次B.不确定次C.4次D.3次17.在C语言中,下列说法中正确的是()A. 不能使用“do while”的循环B.“do while”的循环必须使用break语句退出循环C.“do while”的循环中,当条件为非0时将结束循环D.“do while”的循环中,当条件为0时将结束循环。

数据结构C语言版部分习题及答案[2]

数据结构C语言版部分习题及答案[2]

第二章习题与解答一判断题1.线性表的逻辑顺序与存储顺序总是一致的。

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

二单选题 (请从下列A,B,C,D选项中选择一项)1.线性表是( ) 。

(A) 一个有限序列,可以为空;(B) 一个有限序列,不能为空;(C) 一个无限序列,可以为空;(D) 一个无序序列,不能为空。

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A) n/2 (B) n+1/2 (C) n -1/2 (D) n3.线性表采用链式存储时,其地址( ) 。

(A) 必须是连续的;(B) 部分地址必须是连续的;(C) 一定是不连续的;(D) 连续与否均可以。

4.用链表表示线性表的优点是()。

(A)便于随机存取(B)花费的存储空间较顺序存储少(C)便于插入和删除(D)数据元素的物理顺序与逻辑顺序相同5.某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( )存储方式最节省运算时间。

(A)单链表(B)双链表(C)单循环链表(D)带头结点的双循环链表6.循环链表的主要优点是( )。

(A)不在需要头指针了(B)已知某个结点的位置后,能够容易找到他的直接前趋(C)在进行插入、删除运算时,能更好的保证链表不断开(D)从表中的任意结点出发都能扫描到整个链表7.下面关于线性表的叙述错误的是( )。

c语言试题及答案

c语言试题及答案

第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. 回车符B. 冒号C. 逗号D. 分号(2) 在C 语言中,每个语句必须以 D 结束。

A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。

A. 回车符B. 冒号C. 空格D. 分号(4) 用C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。

A. 由于C 源程序是高级语言程序,因此一定要在TC 软件中输入B. 由C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。

A. C 语言程序由主函数和0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有37 个关键字和9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在C 语言程序中允许出现的字符集是ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

(6) C 语言标识符的长度是前8 位有效。

(7) C 语言中,标识符的定义规则是以字母或下划线为开头。

(8) C 语言程序的注释可以出现在程序中的任何地方,它总是以/* 符号作为开始标记,以*/ 符号作为结束标记。

C语言试卷2及答案

C语言试卷2及答案

C语言试卷2及答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--扬州大学试题纸系课程 C语言程序设计(A)卷2002—2003学年第2学期班级_________学号________姓名__________得分___________一、选择题(每题分,共30分):1、已知:char a; int b; float c; double d;则执行语句:c=a+b+c+d; 后,变量c的类型为。

A. charB. intC. floatD. double2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时,从第一列开始输入数据12345 67<回车>,则y的值是。

A. 无定值B.C.D.3、设有以下程序段int x=0; s=0;while (!x!=0) s+=++x;printf(“%d”,s);则。

A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次4、若i为整型变量,则以下循环执行次数是。

for(i=2; i==0;) printf(“%d”, i--);A. 无限次B. 2次C. 1次次5、假设char ch=’a’, *p=&ch;,以下语句中,有语法错误的是 .A. (*p)++;B. ch+=—‘a’+’A’;C. toupper(ch)=ch;D. ch++;6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”};则language[2]的值是。

A. 一个字符B. 一个地址C. 一个字符串D. 一个不定值7、C语言程序中,当调用函数时。

A. 实参和虚参可以共用存储单元B. 实参和虚参各占一个独立的存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元8、在程序中要使用语句:printf(“%s\n”, STRING);输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。

C语言试题及答案解析(二)

C语言试题及答案解析(二)

C语言试题及答案解析(二)班级姓名学号____________一、选择题(20分)1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________A.if、while和for; B. switch、do-while和for;C.while、do-while和for;D.顺序结构、分支结构和循环结构。

2.算法的特征不包括:______。

A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。

3.C语言源程序的基本组成单位是______。

A.函数 B. 语句 C. 声明和语句 D. 文件4.下列标识符中,只有______是合法的。

A.if B. 3ab C. Int D. A-45.下列常量中,只有______是合法的。

A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’6.下列说法中正确的是:______。

A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。

B.宏替换比函数调用的执行速度慢。

C.实质上,C语言中的指针就是一个变量的地址。

D.C语言中的任何函数都可以由程序员命名。

7.C语言中,运算对象必须是整型的运算符是_______。

A./ B. % C. + D. -8.以下叙述中错误的是_______。

A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句9.以下叙述中正确的是_______。

A.调用printf函数时,必须要有输出项B.使用putchar函数时,必须在之前包含头文件stdio.hC.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。

A.每个函数都可以被其它函数调用(包括main函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数11.有以下程序段typedef struct NODE{int num;struct NODE *next;} OLD;以下叙述中正确的是_______。

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

C语言程序设计试题及答案解析2
1ห้องสมุดไป่ตู้
D、char=int=<long int <=float<double 答案:A 在 C 语言中(VC 环境) ,一定是长整型常数的是: ( ) A、0L B、4962710 C、0412765 D、0xa34b7fe 答案:A 若有以下定义语句 char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输 出结果是: ( ) A、2,M B、3,E C、2,E D、输出项与相应的格式控制不一致,输出结果不 确定 答案:B 以下合法的赋值语句是: ( ) A、x=y=100 B、d--; C、 x + y D、c = int(a+b); 答案:B 设变量 t 为 int 型,下列选项中不正确的赋值语句是: ( ) A、++t; B、n1=(n2=(n3=0)); C、k=i==m; D、a=b+c=1; 答案:D 在以下一组运算符中,优先级最高的是: ( ) A、<= B、== C、% D、&& 答案:C 下列能正确表示 a≥10 或 a≤0 的关系表达式是: ( ) A、a>=10 or a<=0 B、a<=10 || a>=0 C、a>=10 || a<=0 D、a>=10 && a<=0 答案:C 下列只有当整数 x 为奇数时,其值为“真”的表达式是: ( ) A、x%2==0 B、!(x%2==0) C、(x-x/2*2)==0 D、!(x%2) 答案:B 设 a 为整型变量,不能正确表达数学关系 10<a<15 的 C 语言表达式是: ( ) A、1 0< a < 15 B、!(a<=10 || a>=15) C、a>10 && a<15 D、!(a<=10) && !(a>=15) 答案:A 已知 x=43, ch=’A’ ,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是: ( ) A、0 B、语法错 C、1 D、 “假” 答案:C 表达式 17%4 /8 的值为: ( ) A、0 B、1 C、2 D、3 答案:A 语句 printf(“%d”,(a=2)&&(b= -2));的输出结果是: ( ) A、无输出 B、结果不确定 C、-1 D、1 答案:D 一个可执行的 C 程序的开始执行点是: ( ) A. 程序中的第一个语句 B. 包含文件中的第一个函数 C. 名为 main 的函数 D. 程序中的第一个函数 答案:C

《C语言程序设计》试题2及答案

《C语言程序设计》试题2及答案

二一、填空题1、C语言中普通整型变量的类型说明符为,在内存中占字节,有符号普通整型的数据范围是。

2、C语言中基本的数据类型有:、、。

3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是。

4、共用体和结构体的定义格式类似,不同点是。

5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。

6、有语句:char A[ ]={”I am a student”};该字符串的长度是,A[3]= 。

7、符号”a”和’a’的区别。

8、下列程序的输出结果是。

int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d); }二、选择题1、以下选项中属于C语言的数据类型是(B )。

A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是( C )。

A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是( D )。

A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是( C )。

A.字符型数组中可能存放字符串。

B.可以对字符型数组进行整体输入、输出。

C.可以对整型数组进行整体输入、输出。

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( C )。

C语言期末练习题及答案2

C语言期末练习题及答案2

期末练习题2-48课时一、单选题(共20题,共30分)1. 执行下列程序后的输出结果是()int fun(int x1,int x2){ int x;x1>x2(x=3):(x=4);return(x+x1);}main(){ printf("%d\n",fun( 7,8));}(分)2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分)3. 若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是( ) (分)A.以下两处的*p含义相同,都说明给指针变量p赋值B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中4. 有以下程序#define N 20fun(int A[],int n,int m){int i,j;for(i=m;i>=n;i--)A[i+1]=A[i];}main(){int i,A[N]={1,2,3,4,5,6,7,8,9,10};fun(A,2,9);for(i=0;i<5;i++)printf("%d",A[i]);}程序运行后的输出结果是()(分)5. 下面程序的输出是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (分)=11,k=12,k=13 =11,k=13,k=136. 以下程序段的输出为:int x=011;printf("%d\n",++x); (分)7. 执行下述程序的输出结果是()。

#include <>#include <>main(){char *p1,*p2,str[50]="ABCDEFG";p1="ABCD";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s\n",str);} (分)8. 以下语句的输出结果是()int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c); (分),0,5 ,5,-10 ,0,5 ,0,-109. 阅读程序#include <>int funC(int B[],int n){int i,r;r=1;for (i=0;i<=n;i++)r=r*B[i];return (r);}main(){int x,A[]={2,3,4,5,6,7,8,9};x=funC(A,3);printf("%d\n",x);}执行下述程序的输出结果是()(分)10. 下列选项中,可作为C语言合法整数的是()(分)A.*&A[5]&nbsp; +2 C.*(p+5) D.*(A+2)12. 有以下程序void fun(int *a,int i,int j){int t;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){int a[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}执行后输出结果是()(分)5 4 3 2 1 3 2 1 5 65 6 1 2 3 2 3 4 5 613. 若定义如下变量和数组_________。

C语言期末试题2(带答案)

C语言期末试题2(带答案)

C语言期末试题2(带答案)13-14-2 48课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-09 10:52:09答题结束时间:2014-06-09 10:52:13考生姓名:翟方正考试时间:00:00:04分钟总得分:0分评卷人:系统自动评卷评卷时间:2014-06-09 10:52:13一、单选题(共15题,共30分)1. 在C语言中,回车换行符是()(2分)A.'\n'B.'\t'C.'\v'D.'\b'标准答案:A考生答案:2. 以下选项中,不能作为合法常量的是()(2分)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0标准答案:B考生答案:3. 若有语句int *point,A=4;和point=&A下面均代表地址的一组选项是()(2分)A.A,point,*&AB.&*A,&A,*pointC.*&point,*point,&AD.&A,&*point ,point标准答案:D考生答案:4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是()(2分)A.x&&yB.x<=yC.x︱︱++y&&y-zD.!(x<y&& !z︱︱1)<="" p="">标准答案:D考生答案:5. 以下叙述中正确的是()(2分)A.C语言可以用来编写系统软件,也可以用来编写应用软件B.函数体不必用一对大括号{}括起来C.C程序的每一行只能写一条语句D.对一个C程序进行编译的过程可以发现注释中的拼写错误标准答案:A考生答案:6. 执行下面程序段后,c3中的值是()int c1=1,c2=2,c3;c3=c1/c2; (2分)A.0B.1/2C.0.5D.1标准答案:A7. 以下程序的输出结果是( )main(){ int a=12,b=12;printf("%d %d\n",--a,++b);} (2分)A.10 10B.12 12C.11 10D.11 13标准答案:D考生答案:8. 以下定义语句中,错误的是( ) (2分)A.int a[]={1,2};B.char *a[3];C.char s[10]="test";D.int n=5,a[n];标准答案:D考生答案:9. 以下程序的输出结果是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (2分)A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b 标准答案:D考生答案:10. main( ){int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7&&p[i]%3){k =k+ p[i]; i++;}printf("%d\n", k);}执行后输出结果是()(2分)A.58B.53C.38D.24标准答案:C考生答案:11. 以下程序段的输出结果是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z); (2分)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5考生答案:12. 若以下程序所生成的可执行文件名为file1.exe,则当在操作系统状态下输入下述命令行执行该程序时FILE1 CHINA BEIJING SHANGHAI程序的输出结果是()#includemain(int argc,char *argv[]){while (argc-->1){++argv;printf("%s ",*argv);}printf("\n");} (2分)A.CHINA BEIJING SHANGHAIB.FILE1 CHINA BEIJING SHANGHAIC.C B SD.F C B标准答案:A考生答案:13. 执行下述程序的输出结果是()#includeint power(int x,int y);main(){float a=2.6,b=3.4;int p;p=power((int)a,(int)b);printf("%d\n",p);}int power(int x,int y){int i,p=1;for (i=y;i>0;i--)p=p*x;return (p);} (2分)A.8B.9C.27D.81标准答案:A考生答案:14. 有以下程序main(){ int x[8]={8,7,6,5,0,0}, *s;s=x+3;printf("%d\n",s[2]);}A.随机值B.0C.5D.6标准答案:B考生答案:15. 执行下述程序的输出结果是()#includemain(){int aa[3][3]={{2},{4},{6}};int i,*p=&aa[0][0];for (i=0;i<2;i++){if (i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}printf("\n");} (2分)A.23B.26C.33D.36标准答案:A考生答案:二、判断题(共10题,共10分)1. C语言中,标识符的第一个字符可以是数字(1分) ( )标准答案:错误考生答案:2. "hello!"是合法的字符串常量表示形式(1分) ( )标准答案:正确考生答案:3. 若有定义int a[3][4];则a[1+1][0]是对数组a元素的正确引用形式(1分) ( )标准答案:正确考生答案:4. 在switch语句中使用continue语句与使用break语句作用相同(1分) ( )标准答案:错误考生答案:5. 用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分) ( )标准答案:正确考生答案:6. char a[]={0,1,2,3,4,5,6};不是正确的语句(1分) ( )标准答案:错误考生答案:7. 已经定义了指针变量p,且p指向变量a(即p=&a),则*p与a的含义相同。

C语言模拟试题II

C语言模拟试题II

《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案一、单项选择题(每题2分,30道题,共60分)1.下面的程序将输出:main(){float f;int x=1,y=;f=x/y;printf("f=%,y=%#X", f, y );}= , y=2 = , y=0X2 = , y=0X2 = , y=22.下面的程序将输出:#include ""main(){int len;char str[]="a\b\04235\0";len=strlen(str);printf("%d",len);}A. 10B. 5C. 6D. 73.下面的程序将输出:main(){int a=0x31;char *str[]={"this is one. ","this is two. "};char ch;ch=++a-’0’;switch(ch){case 1: printf ("%s", str[0]);case 2: printf ("%s", str[1]);default: printf ("no way! ");}}is one. is two. way! is way!4.下面的程序将输出:main(){int a[5]={1,2,3};int k,j;for(k=1;k<4;k++)a[k]++;for(j=0;j<5;j++)printf("%d ",a[j]);}3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 05.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:int a[10];int *p;p=a;[2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1;6.下面程序将输出:void add(int a){a++;return;}main(){int k;k=;add(k);printf("%d",k);}A. B. C. 3 D. 47.下列循环结构中,不是..无限循环的是:A. for(i=1, s=0; ; i++)B. i=10;s=s+i ; while(1){i=i%10+1;if(i>10) break; }C. int i=0;D. i =100;do{ ++i ; }while(i>=0); while(++i%2) i++;8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:[2][2] [5] [5] [1][1]9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少?A. 0X5050B. 0X5002C. 0X5004D. 0X504010.若有说明int a[2][2];那么,下面正确的C赋值语句是:=2; [1]=2; [1]={1,2}; [0][1]=a[1][0];11.设x为int型变量,则执行以下语句后,x的值为x=10; x+=x-=x-x;A.10 B.20 C.40 D.3012.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:A.0 B.语法错C.1 D."假"13.下面能正确进行字符串...赋值操作的语句是:A.char s[5]={"ABCDE"}; B.char s[]={'A','B','C','D','E'};C.char *s;s="ABCDEF"; D.char *s;scanf("%s",s);14.已知:int a[3][4], *p=&a[0][0]; p+=6; 那么*p 和_____的值相同.A.(a+6) B.*(&a[0]+6) C.a[2][2] D.*(&a[0][0]+6) 15.设有以下说明和定义:typedef union { long i; int k[4]; char c; }DATE;struct date { int cat; DATE cow; double dog; } too;DATE max;则下列语句的执行结果是printf ("%d",sizeof (struct date ) +sizeof(max));A.26 B.30 C.18 D.816.设有如下定义:int *(*ptr)();则以下叙述中正确的是A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针17.若二维数组a 有m列,则在a[i][j]之前的元素个数为______A.j*m+i B.i*m+j C. i*m+j-1 D.i*m+j+118.以下程序运行后,输出结果是A.13 B.51 C.11 D.53int d=1;fun (int p){int d=5;p=d;printf("%d",p);}main(){int a=3;fun(a);d=a;printf("%d\n",d);}19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为A.4 B.7 C.6 D.5#include<>#include<>func(char str[ ] ){ int num =0;while(*(str+num)!='\0') num++;return(num);}main( ){char str[10],*p=str;gets(p); printf("%d\n",func(p));}20.执行以下程序段后,m的值为int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A.15 B.14 C.13 D.1221.已知定义了两个结构体变量,下面是正确的语句是:struct {int x; char name[10]; float mark;} S1,S2;A. S1={5, ”yang”, };B. S1=S2;C. = ; = ; =;D. strcpy(S1,S2);22.下面这段程序运行的结果是:int a=0x4145;char *p;p=(char *)&a;*p+=1;printf(“%X” , *p);A. 46B. 4223.下面这段程序运行的结果是:char str[ ]=”%#X”;int a=50;printf(str,a++);D.有语法错24.下面哪个语句是函数的原型声明A. int (*f)(int a , int b);B. int f(int a , 5);C. int f(int a , int b);D. int f(int a=5, int b=6);25.已知int a=0XF11F , b; 执行完下面的操作后,a的值是多少?b=(a&0xFF00)>>4;A. 0X0FF1B. 0XF11F D. 0XFFF126.有以下程序:int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是。

C语言基础练习题(含答案)(2)

C语言基础练习题(含答案)(2)
C.!(x%2) D.x%2
12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错
C.1 D.“假”
D.switch (grade)
{ case ’C’ :printf(”<60\n”);
break;
case ’B’ :printf(”60——84\n”);
break;
default: printf(”grade is error!\n”);
if(a>b)
c=a; a=b; b=c;
A.a=1, b=2, c=3 B.a=2, b=3, c=3
C.a=2, b=3, c=1 Βιβλιοθήκη D.a=2, b=3, c=2
17.请阅读以下程序:该程序()。
#include ”stdio.h”
22.以下程序的输出结果是()。
#include ”stdio.h”
main()
{
int a=5, b=4, c=6, d;
printf(”%d\n”, d=a>b? a>c?a:c :b);
}
A.5 B.4 C.6 D.不确定
23.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是()。
A.switch (a+b); B.switch a
{ case 1: y=a+b; break; { case c1: y=a-b; break;
C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

C语言程序设计试卷2(含答案)

C语言程序设计试卷2(含答案)

setw(int *b,int m,int n,int dat) { int k;
for(k=0;k&lt;m*n;k++) { *b = = dat;b++; } }
假设变量a的说明为 int a,求调用此函数的正确写法是( )。
A. setw(*a,5,8,1); B. setw(&amp;a,5,8,1); C. setw((int *)a,5,8,1); D. setw(a,5,8,1); 7、请读程序: #include&lt;stdio.h&gt; main( )
上面程序的输出结果( )。
A. 101001 B. 001001 C. 111001 D. 101101 8、请读程序
#include &lt;math.h&gt; #include &lt;stdio.h&gt; main( )
{ float x,y,z;
#include &lt;stdio.h&gt; main()
{ int *p1,*p2,*p; int a=5, b=8; p1=&amp;a;p2=&amp;b;
if(a&lt;b) {p=p1;p1=p2;p2=p;} printf(&uot;%d,%d,&uot;,*p1,*p2); printf(&uot;%d,%d&uot;,a,b);}
若运行时从键盘上输入3.6 2.4&lt;CR&gt;, 则输出结果是( )。 A. 1.500000 B. 1.600000 C. 2.000000 D. 2.400000 9、若有说明

C语言各章节复习题(带答案) 2

C语言各章节复习题(带答案) 2

一、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) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

全国计算机c语言二级试题及答案

全国计算机c语言二级试题及答案

全国计算机c语言二级试题及答案全国计算机C语言二级试题及答案一、单选题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示方法?A. 0x1AB. 0.123C. 1.23e10D. 1.23E+10答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组可以存储相同类型的元素B. 数组的元素必须在编译时确定C. 数组的元素可以是任意数据类型D. 数组的大小在运行时可以改变答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void答案:D4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列哪个选项不是C语言中的控制结构?A. 循环B. 选择C. 跳转D. 继承答案:D6. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable$答案:C7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的结构体定义?A. struct {int a;float b;};B. struct {int a;float b;} myStruct;C. struct {int a;float b;} myStruct;D. struct myStruct {int a;float b;};答案:D9. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fwriteD. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针类型声明?A. int *p;B. *int p;C. int *p;D. int p*;答案:A二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是________。

C语言基础题及答案2

C语言基础题及答案2

第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。

A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。

A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以 D 。

A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。

A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。

A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是:。

?A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。

A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: B 。

A. ‘\2’B. ""C. ‘3’D. ‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。

int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. W += -2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。

A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言部分一、选择题(每小题2分,共10分)(下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。

错选或漏选均不得分)。

1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D,E )A、*(a+1)为元素6的地址这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。

B、*(a[1]+1)的值为2为8,故B不正确C、**(a+1)+2的值为8这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确;D、a[0]与a相同因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。

E、a[1][2]的值为10它是指第二行的第三个元素,为10,正确2、对函数的正确使用方法描述( A,C,D )。

A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组B、实参数组元素和形参数组元素类型可以不一致C、形参数组长度可以不指定D、形参数组长度可以大于实参数组长度E、数组名做参数属于值传递3、对静态变量的正确描述( A,B,D,E )A、静态局部变量在静态存储区内分配单元()B、静态外部变量可以赋初值,也可以不赋初值C、静态外部变量的作用与外部变量相同D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。

E、静态局部变量只赋一次初值4、下列描述正确的是( A ,C)。

A、由main 函数及其参数argc和* argv[]可以实现命令行方式B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中//先写缓冲区数据到文件中,再释放文件指针C、字符数组并不要求它的最后一个字符是‘\0’//是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的结尾。

D、‘A’和“A”都是字符串常量E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是75、在缓冲文件系统中用于读写的函数有( A,B,D )A、putchar ()B、fread()C、rewind ()D、purw()E、fseek()二、程序阅读,并给出运行结果(共10分,每题5分)。

(1)main(){ unsigned a,b,xint n;a=0x763 输出结果:n=6;b=a<<(12-n);x=(a>>n-2)^b; //+,-,的优先级比<<,>>高。

printf(“\nb=%x,\nx=%x”,b,x);}在用2个字节表示整数的系统中结果为d8c0d8b6在用4个字节表示整数的系统中结果为1d8c01d8b6故以上两种结果都正确。

(2) #include 〈stdin.h〉struct m {int x;int *y;} *p;int a [4]={12,33,-40,100};struct m b [4]={10,&a[2],9,&a[3],8,&a[0],7,&a[1]}'main(){p=b; 输出结果:printf(“%d\n”,++p->x); //->的优先级高于++,因此等于是++(p->x),为11printf(“%d\n”,(++p)->x); //p后移一个元素,其x值为9;printf(“%d\n”,++(*p->y));//->的优先级高于*, 此时p已指向b[1],故*(p->y)为a[3]为100.自加后为101;}故输出结果为:119101三、程序设计(共10分)设在文件a.txt和文件b.txt中分别存有两个字符串,设计一个程序将这两个字符串按依序交叉的方式合并为一个字符串(例如“aaaaa”与“bbb”的合并结果为“abababaa”,而“bbb”与“aaaaa”的合作结果为“ bababaa”,)并将结果存入文件a.txt中。

【答案】写程序时,可以分别读取a.txt文件和b.txt文件,注意(1),无论a文件先读完还是b文件先读完,程序都能作出适应性的判断。

注意(2)把a和b合并的结果,写到一个临时文件c中,最后把c的文件覆盖到a文件中,达到题意的要求。

#include<stdio.h>main(){FILE *fp,*fq,*fr;char ch;if((fp=fopen("a.txt","r+"))==NULL){ printf("cannot open file a.txt");exit(0);网址:/doc/26/9315.html}if((fq=fopen("b.txt","r"))==NULL){ printf("cannot open file b.txt");exit(0);}fr=fopen("c.txt","w+");while(!feof(fp)){ch=fgetc(fp);fputc(ch,fr);if(!feof(fq)){ch=fgetc(fq);fputc(ch,fr);}}while(!feof(fq)){ch=fgetc(fq);fputc(ch,fr);}rewind(fp); rewind(fr);while(!feof(fr)){ch=fgetc(fr);fputc(ch,fp);}fclose(fp); fclose(fq); fclose(fr);}1.2 四川大学2001年攻读硕士学位研究生入学考试试题及答案1.2.1第2001年――C语言程序设计题目一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码写在答题纸上。

请注意注明题号。

每小题1分,共计6分)1、‘\t’表示什么?①字符串常数②标识符③变量④字符常量答案:④2、对宏定义不正确的描述是哪一个?①在进行宏定义时,可以引用已经定义的宏名,可以层层置换//可以引用已经定义了的宏名,可以层层置换②宏名的有效范围包括本文件的任何位置//宏名的有效范围定义命令之后到本源文件结束,可以用#define终止宏定义的作用域③宠定义不是语句,不必在行末加分号//是预处理定义语句④对程序中双引号括起来的字符串,即使与宏名相同,也不进行置换3、若定义static char s[20]=”computer”;则执行语句x = strlen(s);之后,x的值为多少?①20 ②9 ③8 ④19//strlen函数计算char*型字符串的长度的时候,并不包含末尾的\0;4、以下哪一个表达式取值是正确的?①6>5结果为6 ②6&&5结果为7③6||5结果为7 ④6<5结果为05、如定义enum weekday {one, two, thr, fou, fiv};enum weekday working;以下哪个是不正确的枚举变量的使用?①working = thr; ②working =2;③working = (enum weekday)2;④working = (enum weekday) (5-3);//不能对其赋值6、下列说法中正确的是哪一个?①sizeof (char) 是结果为整型的表达式②sizeof (char) 是一个不合法的表示形式③sizeof (char) 是一种函数调用④sizeof (char) 是结果为实型的表达式二、阅读程序,并回答问题(共12分)1、下列程序的输出是什么?(3分)# include <stdio. h>void main ()﹛char * aplha [6] = ﹛“ABC”,“DEF”,“GHI”,“JKL”,“MNO”,“PQR”﹜;char **p;int i;p = aplha;for (i = 0; i<4; i++)printf (“%s”, p[i]);printf (“\n”);﹜//输出结果ABCDEFGHIJKL刚好是字符串数组里面的前四个元素的内容连接起来2、下列程序为什么无法将用户输入的三个整数按从小到大排序输出?应该如何修改?(6分)# include <stdio.h>void swap (int x, int y)﹛int t = x;x = y;y = t;﹜void main ()﹛int a, b, c;scanf (“%d, %d, %d”, &a, &b, &c);if (a>b) swap (a, b);if (a>c) swap (a, c);if (b>c) swap (b, c);printf (“%d, %d, %d”, a, b, c);﹜//函数swap采用值传递,虽然将形参x和y交换了,但是并不影响到实参。

将值传递改成指针传递就可以了。

C函数参数采用值传递方式,虽然swap函数将形式参数x和y的值进行了调换,但是影响不到相应的实在参数。

所以在主函数中,通过调用sawp函数调换a和b(或a或c,或b和c)的值是根本达不到目的的。

修改:(1)(2分)void swap (int *x, int*y)﹛int t = *x;*x = *y;*y = t;﹜(2)(2分)主函数if(a>b) swap(&a,&b);if(a>c) swap(&a,&c);if(b>c) swap(&b,&c);3、假设系统为基本整型量分配2个字节,为字符型量分配1个字节。

下列程序完成的功能是什么?(3分)# include <stdio. h>union﹛int n;char ch [2];﹜u;void main ()﹛int m;scanf (“%d”,&m);u.n = m;printf (“\n%u, %u”,u.ch[0], u.ch[1]);﹜//该程序的功能,取用户输入的整数值的高字节和低字节,并按照任意整数的低字节和高字节分别输出。

三、程序设计题(12分)假设一个文本文件中保存着100个整数,请将这100个整数按从小到大的顺序写到另一个文本文件中去,并且在新文件中每10个整数占一行。

源文件名和目标文件名通过命令行参数获取。

分数分配:变量定义 2分命令行参数处理 1分文件打开 1分文件读 2分排序 3分文件写 2分文件关闭 1分# include <stdio. h>void main(int argc, char *argv[])﹛FILE *fin, *fout;Int a [100], i, j, t;if(argc!=3)﹛printf (“ You forgot to enter a filename\n”);return;﹜fin = fopen (argv[1], “r”);fout = fopen (argv[2], “w”);for (i = 0; i<100; i++)fscanf (fin, “%d”, &a[i]);for (i = 0; i<99; i++)for (i = 0; i<99-i; i++)if (a[j]>a[j+1])﹛t = a[j]; a[j] = a[j+1]; a[j+1]=t;﹜for (i = 0; i<100; i++)﹛if (i%10 = 0)fprintf (fout, “%s”, “\n”);fprintf (fout, “%d”, a[i]);﹜fclose (fin);fclose (fout);﹜1.3 四川大学2002年攻读硕士学位研究生入学考试试题及答案1.3.1 第2002年――C语言题目C语言程序设计(共30分)一、单项选择题(在每小题的四个备选答案中,选出一个正确答案。

相关文档
最新文档