《C语言》复习题160题

合集下载

C语言试题库(完整版)

C语言试题库(完整版)

C语言试题库一、单项选择第一章 C 语言概述( 1)一个 C程序的执行是从A、本程序的 MAIN函数开始,到 MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的 MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

( 2)以下叙述正确的是A、在 C程序中, MAIN函数必须位于程序的最前面。

B、 C 程序的每行中只能写一条语句。

C、 C 语言本身没有输入输出语句。

D、在对一个 C程序进行编译的过程中,可发现注释中的拼写错误。

( 3) C 语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面( 4)一个 C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成( 5)以下叙述不正确的是:A、一个 C源程序可由一个或多个函数组成B、一个 C源程序必须包含一个MAIN函数C、 C 程序的基本组成单位是函数D、在 C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式( 1)若 x, i, j, k 都是 int 型变量,则计算下面表达式后,x 的值为x=( i =4 , j =16 , k =32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P _0, doB、 float,1a0, _AC、 b-a, goto, intD、_123, temp, INT(4)若有代数式3 ae/bc ,则正确的C语言表达式是A、a/b/c*e*3B、 3*a*e/bcC、 3*a*e/b*cD、 a*e/c/b*3( 5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、 x%(-3)B、 w+=-2;C、 k=(a=2,b=3,a+b)D、 a+=a-=(b=4)*(a=3)第三章简单 C程序设计(1) putchar 函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若 x,y 均定义为 int 型, z 定义为 double 型,以下合法的 scanf 函数调用语句是A、 scanf( “%d%lx,%le”,&x,&y,&z) ;B、 scanf( “%2d*%d%lf”,&x,&y,&z);C、 scanf( “%x%*d%o”,&x,&y,&z);D、 scanf( “%x%o%6.2f”,&x,&y,&z);(3) 当输入数据的形式为:25,13,10<回车 >时,以下程序的输出结果为main(){int x,y,z;scanf( “%d%d%d”,&x,&y,&z);printf( “x+y+z=%d n”,x+y+z);}A、 x+y+z=48B、 x+y+z=35C、 x+z=35D、不确定值(4)以下能正确的定义整型变量 a,b 和 c,并对它们赋初值为5的语句是A、 int a=b=c=5;B、 int a, b, c=5;C、 a=5, b=5, c=5;D、 a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、 a=1, b=2;B、 b++;C、 a=b=5;D、 b=int(x);第四章选择结构程序设计(1)能正确表示“当 x 的值在 [1 , 10] 和[200 ,210] 的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1) ││ (x<=10) ││ (x.>=200) ││ (x<=210)C、(x>=1) &&(x<=10) ││ (x.>=200) &&(x<=210)D、(x>=1) ││ (x<=10)&& (x.>=200) ││ (x<=210)( 2)以下程序的运行结果是#include “stdio.h ”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf( “%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0( 3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf( “* * * n”); else printf( “$ $ $ n”); }以上程序。

c语言习题

c语言习题

二.填空题 1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 _1B__,其数值范围为 0~127 ;一个int数据在内存中所占字节数为 2B ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节 数为 4B ,其数值范围为 -2147483648~2147483647 ;一个float 数据在内存中所占字节数为 4B ,其数值范围为 -3.4*1038~-3.4*10-38, 3.4*10-38~3.4*1038 。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且 第一个字符必须为 字母 。 3.字符常量使用一对 单引号 界定单个字符,而字符串常量 使用一对 双引号 来界定若干个字符的序列。
3.函数体一般包括( 变量定义序列 ) 和( 执行语句序列
二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结 束。 【 √ 】 2.main函数必须写在一个C程序的最前面。 【 × 】 3.一个C程序可以包含若干的函数。【 √ 】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运 行不起任何作用。但是可以增加程序的可读性。【 √ 】 5.C程序的注释只能是一行。【 × 】 6.C程序的注释不能是中文文字信息。【 × 】 8.可以使用Turbo C来编译和连接一个C程序。【 √ 】 9.可以使用Turbo C来运行一个C程序。【√ 】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 √ 】 三.简答题 1. 写出一个C程序的基本结构。 预处理命令序列 void main() { 变量定义序列 执行语句序列 } 2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 1)编辑源程序,以扩展名.c存盘。

【知识】C语言复习题

【知识】C语言复习题

【关键字】知识第一章C语言基础知识一、选择题1.C语言规定,必须用作为主函数名。

A)Function B)include C)main D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。

A)过程B) 主函数C)函数D)include 3.是C程序的基本构成单位。

A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是。

A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。

A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是。

A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。

A)句号B)逗号C)分号D)括号8.下列字符串是标识符的是。

A)_HJ B)9_student C)long D)LINE 19.以下说法正确的是。

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

A)switch B)print C)case D)default11.C语言提供的合法关键字是。

A)breack B)print C)funiton D)end12.C语言提供的合法关键字是。

c语言经典题目100题

c语言经典题目100题

1.寻找数组中的最大值和最小值2.寻找数组中的中位数3.查找数组中给定元素的索引4.反转数组5.合并两个升序数组6.移位数组7.查找两个数组的交集8.查找两个数组的并集9.查找两个数组的差集10.寻找数组中的众数11.寻找数组中的缺失元素12.寻找数组中的重复元素13.计算数组的和14.计算数组的平均值15.计算数组的方差16.计算数组的标准差17.比较两个数组是否相等18.复制数组19.排序数组20.搜索数组(线性搜索)21.搜索数组(二分搜索)22.插入元素到数组23.删除元素到数组24.更新数组中的元素25.创建动态数组26.释放动态数组27.字符串复制28.字符串连接29.字符串比较30.字符串搜索31.字符串替换32.字符串分割33.字符串反转34.字符串大小写转换35.字符串修剪36.计算字符串长度37.字符串格式化38.链表创建39.链表插入40.链表删除41.链表搜索42.链表反转43.链表排序44.链表合并45.链表复制46.链表释放47.树创建48.树插入49.树删除50.树搜索51.树反转52.树排序53.树合并54.树复制55.树释放56.堆创建57.堆插入58.堆删除59.堆搜索60.堆反转61.堆排序62.堆合并63.堆复制64.堆释放65.图创建66.图插入67.图删除68.图搜索69.图反转70.图排序71.图合并72.图复制73.图释放74.队列创建75.队列插入76.队列删除77.队列搜索78.队列反转79.队列排序80.队列合并81.队列复制82.队列释放83.栈创建84.栈插入85.栈删除86.栈搜索87.栈反转88.栈排序89.栈合并90.栈复制91.栈释放92.哈希表创建93.哈希表插入94.哈希表删除95.哈希表搜索96.哈希表反转97.哈希表排序98.哈希表合并99.哈希表复制100.哈希表释放。

C语言试题数据类型运算符与表达式

C语言试题数据类型运算符与表达式

C语言试题数据类型运算符与表达式一、单项选择题1、以下选项中,不正确的C语言浮点型常量是(C)。

A.160.B.0.12C.2e4.2D.0.0分析:e后面的指数必须为整数。

2、以下选项中,(D)是不正确的C语言字符型常量。

A.'a'B.'\\某41'C.'\\101'D.\分析:在C语言中,’a’表示字符常量,”a”表示字符串。

3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A.原码B.反码C.ASCII码D.BCD码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。

4、若某、i、j和k都是int型变量,则计算下面表达式后,某的值是(C)。

某=(i=4,j=16,k=32)A.4B.16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以某=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“某”以及除法运算符“/”,赋值运算符包括“=、+=、-=、某=、/=、”,关系运算符包括“、>=”。

3ae6、若有代数式bc,则不正确的C语言表达式是(C)。

A.a/b/c某e某3B.3某a某e/b/cC.3某a某e/b某cD.a某e/c/b某3分析:C选项表达的是3ace/b。

7、表达式!某||a==b等效于(D)。

A.!((某||a)==b)B.!(某||y)==bC.!(某||(a==b))D.(!某)||(a==b)分析:由符优先级先后顺序在!某||a==b中应先算“||”再算“!”,最后算“==”。

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语言程序设计复习题库

c语言程序设计复习题库

复习题库题号题 目 1. 某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm ,半径10cm ,共订做1500个铁桶。

计算出所需的原材料。

2.利用系统库函数实现数学运算,求x y 。

3.从键盘上输入一个小写字母,把它转变为大写字母再输出。

4. 设圆半径r=1.5,圆柱高h=3,求圆柱体积,圆柱底面积,圆柱表面积。

用scanf ()输入数据,输出计算结果。

输出时要有说明,结果取小数点后两位数字。

5.由键盘输入n 的值,编程计算并输出n!的值。

6. 让用户输入一个年份,判断改年份是否是闰年– 被4整除不能被100整除,或者被400整除7. 有一个函数⎪⎩⎪⎨⎧--=11312x x x y ())10()101(1≥<≤<x x x写程序,输入x 的值,输出y 相应的值。

8. 在学生成绩管理中,经常要将成绩的百分制转换成对应的等级制。

90分以上为A 等,80-89为B 等,70-79为C 等,60-69分为D 等,其余为E 等。

编写程序,根据输入的百分制成绩,输出对应的等级。

9. 计算从出生年份(例如1996)到当前年份(例如2014)共经过了多少闰年,输出所有的闰年年份。

10. 从1开始做自然数的累加,当其累加和超过1000的时候,共计累加了多少数?当时的累加和是多少?11.百钱买百鸡问题 12. 计算出自然数SIX 和NINE 满足条件SIX+SIX+SIX=NINE+NINE 的个数CNT,以及所有满足此条件的SIX 与NINE 。

13.求 3—100之间的全部素数14. 图形编程图形编程15. 某歌手大赛,共有10个评委打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩,编程实现。

16.让用户输入10个整数,对10个整数进行降序排列 17.对用户输入的10个整数逆序排列并输出 18. 输出Fibonacci 序列前20项** * ** * * * ** * * * * * ** * * * * * * * ** * * * * * * * * * *19.在一个字符数组中查找一个指定的字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置,否则输出-1.20.写一个函数,求sn=a+aa+aaa+aaaa+aaaaa.....的值,a的值n的值均由用户指定。

专升本C语言100题及答案

专升本C语言100题及答案

专升本C语言100题及答案高职升本计算机基础复材料—C语言精编100题C语言精编1题一、单选题1.由C语言编写的代码程序( )A.可直接执行B.是一个源程序D.经过编译解释才能执行C.经过编译即可执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A.大写字母B.中划线C.数字字符D.下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )XXX.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.EC. 5E-3D. E159.以下选项中,不克不及作为正当常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’1D.‘\xcc’高职升本计算机基础复材料—C语言精编100题13.以下运算符中优先级最高的运算符是()( )A. <=B. =C. %A. ==B. /C. =14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 115.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)16.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;A. 4.3B. 4.8C. 3.318.设有语句:int a=3;则履行了语句a+=a-=a*a;变量a的值是()A. 3B. 0C. 919.设有语句:int x=10;则履行了语句x+=x-=x-x;变量x的值是()A. 10B. 20C. 4020.以下步伐的输出成效是( )( )( )( )( )⑴main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1⑵main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);} A. 10 10B. 12 12C. 11 10⑶main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23⑷main()2D. &&D. >=D. 0D. x+1=x+1D. k=i==j;D. 3.8D. -12D. 30D. 10,1D. 11 13D. 24高职升本计算机基础复材料—C语言精编100题{ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10⑸main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,9B. 9 9C. 9 10D. 10 921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200C. 100 200B. 100D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下步伐的输出成效是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;履行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下步伐的输出成效是3高职升本计算机基础复材料—C语言精编100题(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11C. k=11,k=013,k=0xbB. k=11,k=13,k=13D. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入<CR>(<CR>表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("XXX",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321C. a=98,b=765.,c=4321.B. a=10,b=432,c=8765D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

C语言练习题(山东科技大学吐血整理)

C语言练习题(山东科技大学吐血整理)

数学11—1 C语言平时训练题1、算术基本运算Description计算两整数x和y(0〈x,y<1000)的和、差、积、商、余数、x的平方和y的三次方。

Input输入只有一行.Output输出为多行,按顺序每行输出x,y的和、差、积、商、余数、x的平方和y的三次方。

Sample Inputx = 11, y = 3Sample Outputx + y : 14x - y : 8x * y : 33x / y quotient: 3, remainder: 2x ^ 2 : 121y ^ 3 : 27Answer#include 〈stdio.h>int main(){int x,y,a,b,c,d,e,f,g;0<x〈1000,0<y<1000;scanf(”x = %d, y = %d”,&x,&y);a=x+y;b=x-y;c=x*y;d=x/y;e=x%y;f=x*x;g=y*y*y;printf(”x + y : %d\n”,a);printf("x - y :%d\n",b);printf("x * y : %d\n”,c);printf("x / y quotient: %d, remainder: %d\n”,d,e);printf(”x ^ 2 : %d\n”,f);printf(”y ^ 3 : %d\n”,g);return 0;}2、求圆的面积和周长Description从键盘输入圆的半径,求圆的面积和周长,圆周率取3.14。

Input输入一个浮点型数据,有效数字不会超过十进制的6位。

Output输出为两行。

第一行为圆的面积,第二行为圆的周长,格式见sample。

Sample Input3Sample OutputArea: 28。

260000Perimeter: 18.840000Answer#include〈stdio。

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、intt6、下列C语言用户标识符中合法的是(B)。

A)3ax B)xC)caseD)—e2E)union7、下列四组选项中,正确的C语言标识符是(C)、A) %xB) a+b C)a123 D) 1238、下列四组字符串中都能够用作C语言程序中的标识符的是( A )。

A、print_3d db8 aBc B、I\amone_half start$it3paiC、str_1 Cpp powwhileD、PxqMy—>book line#His、ag e9、C语言中的简单数据类型包括(D)、A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10、在C语言程序中,表达式5%2的结果是C、A)2、5 B)2 C)1D)311、假如int a=3,b=4;则条件表达式"a〈b? a:b”的值是__A__。

A) 3 B) 4C) 0 D) 112、若int x=2,y=3,z=4 则表达式x〈z?y:z的结果是( B)、A)4 B)3C)2 D)0E)113、C语言中,关系表达式与逻辑表达式的值是( B) 、ﻩA) 0 B) 0或1 C) 1 D) ‘T’或’F’14、下面(D)表达式的值为4、A)11/3 B) 11、0/3C)(float)11/3 D) (int)(11、0/3+0、5)15、设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0、5的是( B)A、b=1、0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1、0)16、若“int n;float f=13、8;”,则执行“n=(int)f%3”后,n的值是(A)A、1 B、4C、4、333333D、4、617、以下对一维数组a的正确讲明是: DA) char a(10); ﻩﻩﻩB)int a[];C)int k=5,a[k];D)chara[3]={‘a’,'b','c’};18、以下能对一维数组a进行初始化的语句是:(C)A、inta[5]=(0,1,2,3,4,) B、inta(5)={}C、int a[3]={0,1,2}D、inta{5}={10*1}19、在C语言中对一维整型数组的正确定义为D、A)int a(10);B)int n=10,a[n];C)int n;a[n]; D)#define N10inta[N];20、已知:int a[10]; 则对a数组元素的正确引用是(D)、A、a[10]B、a[3、5]C、a(5) D、a[0]21、若有以下数组讲明,则i=10;a[a[i]]元素数值是(B)。

c语言题库(60道题)

c语言题库(60道题)

第一题:编写一个售货机(POS)计算程序,用于水果店售货员算账。

苹果每千克 3.2元,梨每千克1.96元,香蕉每千克3元,樱桃每千克24元。

某顾客购买1.5斤苹果,2斤梨,3斤香蕉,1.5斤樱桃,付给售货员100元。

要求规范输出这位顾客购买各类水果的名称,对应的重量和应付价钱,显示顾客所付款项,输出应找回的款项。

#include<stdio.h>main(){float apple=1.5,pear=2.0,banana=3.0,cherry=1.5;float cost,pay=100.0,retern;cost=3.2*apple+1.96*pear+3.0*banana+24.0*cherry;retern=pay-cost;printf("LIST\t重量:\t价钱:\n");printf("apple\t1.5\t%.2f\n",3.2*apple);printf("pear\t2.0\t%.2f\n",1.96*pear);printf("banana\t3.0\t%.2f\n",3.0*banana);printf("cherry\t1.5\t%.2f\n",24.0*cherry);printf("pay=%.2fRMB\ncost=%.2fRMB\nretern=%.2fRMB\n",pay,cost,retern);}第二题:编写一个程序,对输入的一组整数,分别统计其中正整数和负整数的个数(0作为结束标志)。

#include<stdio.h>main(){int a[]={12,1648,500,-322,41,-15,126,-45,0,45,-356},i=0,m=0,n=0;for(i=0;a[i]!=0;i++){if(a[i]<0)m++;else if(a[i]>0)n++;}printf("%d\n%d\n",m,n);}第三题:统计100-500之间各个数字之和为9的三位数,输出这些三位数。

c语言试题100道

c语言试题100道

1.按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果。

(课本62)2.输入两个整形数并打印,如果用户不慎输入了非法字符,那么程序提示“输入数据类型错误”。

(课本68页)3.已知三角形的三边长a,b,c,要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积(注意不存在的情况)。

(第三章习题)4.编程从键盘输入圆的半径r,计算并输出圆的周长和面积。

(第三章习题)5.任意从键盘输入一个三位整数,要求正确分离它的个位,十位和百位数,并分别在屏幕上输出。

(课本82)6.写一个函数实现统计一个输入的整形数的位数。

7.编程计算方程ax*x+bx+c=0的根,a,b,c由键盘输入,只是用主函数来实现。

(课本83页,但需综合考虑)8.编写三个函数,分别在b*b-4*a*c大于0、小于0、等于0时进行调用,并输出结果,在主函数中读入a、b、c的值。

9.从键盘输入你和你朋友的年龄,编程判断谁的年龄大,并打印最大者的年龄。

(课本86页)10.从键盘输入一个年份,判断该年是否是闰年,并输出结果。

11.判断某人是否属于肥胖体型。

根据身高与体重因素,医务工作者经广泛的调查分析给出了以下按“体指数”对肥胖程度的划分:体指数t=w/h*h(w为体重,单位为kg,h为身高,单位为m)。

当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t≧27时,为肥胖。

编程从键盘输入你的身高h和体重w,根据上式,判断体重类型。

(课本89)12.利用switch语句将百分制成绩转化为五分制成绩。

(课本97)13.利用switch语句将五分制成绩转换成对应分数范围并输出。

14.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

C语言题目

C语言题目

C语言一、判断题1.在C语言中,不同类型的数据不可以在一起进行算术运算。

(×)2.由于计算机的计算精度很高,所以在C语言中程序计算1.0/3*3的结果肯定等于1。

(×)3.当一个C语言表达式中同时含有字符型、整型、单精度和双精度类型数据参加运算时,按照"由低到高"的原则,所有的数据都必须先转换为双精度类型数据后方能参加运算。

(×)4.赋值运算符优先于条件运算符。

(×)5.C语言与其他高级语言一样,对于所有的同级运算符均遵循左结合原则。

(×)6.如果被定义函数的返回值类型是整型或字符型,使用前可以不必进行说明。

(√)7.表达式128>>2的值是32。

(√)8.若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。

(×)9.int a=4,b=0;则表达式~a&&!b的值是1.(√)10.赋值运算符优先于条件运算符.(×)11.!''的优先级可以比''/''高。

(√)12.两个char型数据相加,其结果为char型。

(×)13.若有定义int a;float b=2.1;则a=int(b+3)是合法的赋值表达式。

(×)14.若有int a=4,b=0;则表达式a&&!b的值为0。

(√)15.对于int n=3;执行n+=n-=n*n;后n的值是9。

(×)16.表达式15>>2的值为2。

(×)17.用语句a=a+b,b=a-b,a=a-b;可以交换a,b两个变量的值。

(√)18.在C语言中,定义int a=b=c=5;是错0的,而int a,b,c;a=b=c=5;是正确的.(√)19.表达式“5=3”是一个关系表达式,且其值为0。

(×)20.若有定义int a,b;则下列语句可用于实现交换a,b的值。

C语言选择题复习精选

C语言选择题复习精选

选择题复习1.表达式“(a=4*5, b=a*2), b-a, a+=2”的值是(C)。

A.2 B.20 C.22 D.422.以下是一个自定义函数的头部,其中正确的是(C )。

A.int fun(int a[ ], b) B.int fun(int a[ ], int a)C.int fun(int*a, int b) D.int fun(char a[ ][ ], int b)3.以下数组声明语句中正确的是(D )。

A.int n, a[n]; B.int a[ ];C.int a[2][3]={{l},{2},{3}}; D.int a[ ][3]={{l},{2},{3}};4.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70 000正确地保存在一个变量a中,该变量声明语句应当是(B )。

A.int a; B.long int a; C.unsigned int a; D.unsigned int a;5.以下声明语句中,用于声明一个行指针变量的是(C )。

A.int *p(int); B.int *p; C.int (*p)[3]; D.int (*p)(int);6.在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中(A )不能用做该变量的名字。

#include <math.h>int y;main( ){ int a=1;fun(a);}int fun(int x){_______; /*int型变量声明语句位置*/… /*若干执行语句*/}A.x B.y C.fabs D.fun7.如有语句“int x,y=0,z,*p[3]; p[0]=&x; p[1]=&y; p[2]=&z;”,以下表达式中有语法错误的是(B )。

A.y++ B.p++ C.*++p[0] D.(*p[0])++8.设有声明语句“int a[3][3]={1,2,3,4,5,6,7,8,9};”,以下语句中除(D )外均能输出a[1][2]的值。

c语言期末复习卷习题

c语言期末复习卷习题

期末总复习(基础知识+程序设计部分)一.填空1.已知char ch=’A’; 则下列表达式的值是:Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch;2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是3.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8; 则表达式y+=(int)x+x+z的值为5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z)2)!(x>y)+(y!=z)||(x+y)&&(y-z)3)x++-y+(++z)6. 设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z2) x,y和z中有两个为负数3)y是奇数y%2 !=07. 下面for循环语句最多可执行次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是for (i=0,j=10 ;i<=j ;i++,j--)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为y的值为z的值为m=10 ; n=5;x=(--m==n++)? --m : ++n;y=m++;z=n;10. 若有说明语句:w=1,x=2,y=3,z=4; 则表达式w>x? w:z>y? z:x值是11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。

计算机题库《C语言》C语言-基本选择题及答案

计算机题库《C语言》C语言-基本选择题及答案

计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由 C 构成的。

A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程3.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D)。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

7. 下列说法错误的是:(B)A.C程序运行步骤是编辑、编译、连接、执行。

B.C语言的变量名必须用小写,常量用大写。

C.C语言的三种基本结构是顺序、选择、循环。

D. C程序一定由函数构成的。

8.下列关于C语言的说法错误的是( B )。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行9. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错*10.下列说法中正确的是(B)。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。

c语言考试题及答案大一

c语言考试题及答案大一

c语言考试题及答案大一一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. #答案:D3. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. while答案:B5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1,2,3};B. int arr[] = {1,2,3};C. int arr[5] = {1,2,3,4,5,6};D. int arr = {1,2,3};答案:B7. 在C语言中,以下哪个关键字用于定义一个指针?A. ptrB. refC. *D. &答案:C8. 下列哪个选项是C语言中正确的注释方式?A. /* This is a comment */B. // This is a commentC. # This is a commentD. //* This is a comment答案:A9. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. sprintfB. printfC. scanfD. atoi答案:A10. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freopenD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以进行取模操作。

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题计算机二级C语言考前复习题:选择题1). 假设变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

A.x=y==5;B.x=n%2.5;C.x+n=I;D.x=5=4+1;正确答案:A答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。

所以这是一条正确的赋值语句。

因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。

因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。

2). 以下数据构造中,属于非线性构造的是( )A.循环队列B.带链队列C.二叉树D.带链栈正确答案:C答案解析:根据数据构造中各数据元素之间的前后件关系的复杂程度,一般将数据构造分为两大类:线性构造和非线性构造。

循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。

3). 以下表达中正确的选项是( )A.一个算法的空间复杂度大,那么其时间复杂度也必定大B.一个算法的空间复杂度大,那么其时间复杂度必定小C.一个算法的时间复杂度大,那么其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系正确答案:D答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。

算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的根本运算次数来度量,而算法所执行的根本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。

4). 以下描绘中正确的选项是( )A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合正确答案:D答案解析:计算机软件与硬件是计算机系统中互相依存的两局部。

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

注: 颜色字母为答案, 请大家把颜色先去掉, 做完再核对答案! (2011年12月)===============================================================================一、单项选择题( 共160题, 1~80 为基本概念题, 81~160题为程序阅读题)基本概念题第1、2章概述、数据类型、运算符与表达式1.计算机能直接执行的程序是:A) 源程序B) 目标程序C) 汇编程序D) 可执行程序2.下列叙述中错误的是:A) 计算机不能直接执行用C语言编写的源程序B) 程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C) 后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D) 后缀为.obj和.exe的二进制文件都可以直接运行3.若变量均已正确定义并赋值,以下合法的C语言赋值语句是:A) x = y = = 5; B) x = n % 2.5; C) x + n = i; D) x = 5 = 4 + 1;4.若以下选项中的变量已正确定义,则正确的赋值语句是:A) x1 = 26.8 %3 B) 1+2 = x2 C) x3 = 0x12 D) x4 = 1+2 = 3;5.若已定义x和y为double类型,则表达式:x = 1,y = x + 3/2的值是:A) 2.0 B) 2 C) 2.5 D) 16.已知字符‟A‟的ASCⅡ代码值是65,字符变量c1的值是‟A‟, c2的值是‟D‟,执行语句print f ( " %d, %d ", c1, c2-2 );后,输出结果是:A) A,B B) A,68 C) 65,66 D) 65,687.main ( ){ char a1 = ‟M‟, a2 = ‟m‟; printf ( " %c \n ", (a1, a2) ); }根据以上程序, 以下叙述中正确的是:A) 程序输出大写字母M B) 程序输出小写字母mC) 格式说明符不足,编译出错D) 程序运行时产生出错信息8.已有定义:int x = 3, y = 4, z = 5;,则表达式! ( x + y ) + z -1 && y + z / 2的值是:A) 6 B) 0 C) 2 D) 19.设x和y均为int 型变量,则以下语句:x += y; y = x-y; x -= y; 的功能是:A) 交换x和y中的值B) 把x和y按从小到大排列C) 无确定结果D) 把x 和y按从大到小排列10.以下选项中非法的表达式是A) 0 <= x <100 B) i = j = = 0 C) (char) ( 65+3 ) D) x+1 = x+111.若x和y代表整型数,以下表达式中不能正确表示数学关系| x - y | < 10的是:A) abs (x-y )<10 B) x-y > -10 && x-y<10 C) (x-y) < -10 || !(y-x)>10 D) (x-y) * (x-y)<10012.若执行以下程序段:int a = 1, b = 2, m = 2, n = 2; (m = a > b) && ++n; 则n的值是:A) 1 B) 2 C) 3 D) 413.若有表达式(w) ? (-x):(++y), 则其中与w等价的表达式是:A) w = = 1 B)w = = 0 C) w!=1 D) w != 014.设已有定义int a = 5, b = 6, c = 7, d = 8, m = 2,n = 2;则逻辑表达式( m = a>b ) && ( n = c>d ) 运算后,n的值为:A) 0 B) 1 C) 2 D) 315.已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是:A) isupper (c) B) ‟A‟<= c< = ‟Z‟C)‟A‟<= c && c <= ‟Z‟D) c <= (…z‟-32) && (…a‟-32) <= c第3章语句和控制结构16.以下叙述中错误的是A) C语言是一种结构化程序设计语言B) 结构化程序有顺序、分支、循环三种基本结构组成C) 使用三种基本结构构成的程序只能解决简单问题D) 结构化程序设计提倡模块化的设计方法17.有以下程序段int m = 0, n = 0; char c = 'a';scanf (" %d %c %d ", &m,&c,&n); printf (" %d, %c, %d \n ", m, c, n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10, A, 10 B) 10, a, 10 C) 10, a, 0 D) 10, A, 018.若有说明语句:int a, b, c, *d = &c;,则能正确从键盘读入三个整数分别赋给a、b、c的语句是:A) scanf ( "%d %d %d", a, b, *d ); B) scanf ( "%d %d %d", &a, &b, &d );C) scanf ("%d %d %d", a, b, d ); D) scanf ("%d %d %d",&a, &b, d )19.若在定义语句:int a, b, c,*p = &c; 之后,接着执行以下选项中的语句,则能正确执行的语句是:A) scanf ("%d", a,b,c); B)scanf ("%d%d%d", a,b,c); C) scanf ("%d", p); D) scanf ("%d", &p);20.有定义语句:int x, y; ,若要通过scanf ( "%d,%d", &x, &y ); 语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是:A) 11 12<回车> B) 11,12<回车> C) 11, 12<回车> D) 11,<回车>12<回车>21.若变量已正确定义为int 型,要通过语句scanf (”%d, %d, %d”, &a, &b, &c ); 给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是:(□代表一个空格符)A) □□□1, 2, 3<回车> B) 1□2□3<回车> C) 1,□□□2, □□□3<回车> D) 1, 2, 3<回车>22.有以下程序段int j; float y; char name[50]; scanf ( "%2d %f %s", &j, &y, name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为:A) 55566.0 B) 566.0 C) 7777.0 D) 566777.023.当用户要求输入的字符串中含有空格时,应使用的输入函数是:A) scanf ( ) B) getchar ( ) C) gets ( ) D) getc( )24.C语言中用于结构化程序设计的三种基本结构是:A) 顺序、选择、循环B) if、switch、break C) for、while、do-while D) if、for、continue25.要使以下程序中t的输出结果为4,则输入a和b应满足的条件是:main (){ int s = 1, t = 1, a, b;scanf (" %d %d ", &a, &b );if ( a > 0 ) s += 1;if ( a>b ) t = s + t;else if ( a= =b ) t = 5;else t = 2 * s;printf ( "%d \n ", t );}A) a>0并且a<b B) a<0并且a<b C) a>0并且a>b D) a<0并且a>b26.有以下程序段int n, t = 1, s = 0;scanf (" %d ", &n);do { s = s + t; t = t-2; }while (t != n );为使此程序段不陷入死循环,从键盘输入的数据应该是:A) 任意正奇数B) 任意负偶数C) 任意正偶数D) 任意负奇数27.在循环语句的循环体中,continue语句的作用是:A) 立即终止整个循环B) 继续执行continue语句之后的循环体各语句C) 结束本次循环D) 结束本次循环并跳出循环28.若变量已正确定义,有以下程序段,其输出结果是:i = 0;do printf ( " %d, ", i ) ; while ( i++ );printf ( " %d \n ", i );A) 0,0 B) 0,1 C) 1,1 D) 程序进入无限循环29.若定义int i;,则循环语句:for ( i = 2;i = = 0;) printf ( " %d ", i--);执行次数是:A) 无限次B) 2次C) 1次D) 0次30.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值( c大于0)for (s = a, b = 1; b<= c; b ++) s = s + 1;则与上述程序段功能等价的赋值语句是:A) s = a + b; B) s = a + c; C) s = s + c; D) s = b + c;第4章函数与程序结构31.对于一个正常运行的C程序,以下叙述中正确的是:A) 程序的执行总是从main函数开始,在main函数结束B) 程序的执行总是从程序的第一个函数开始,在main函数结束C) 程序的执行总是从main函数开始,在程序的最后一个函数中结束D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束32.以下正确的叙述是:A) 在C语言中,main函数必须位于文件的开头B) C语言的每行中只能写一条语句C) C语言本身没有输入、输出语句D) main函数可以在任何地方出现33.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是:A) void B) int C) float D) double34.下面的函数调用语句中func ( f2 (v1,v2), (v3, v4, v5), (v6, max (v7, v8) ) );,函数的实参个数是:A) 3 B) 4 C) 5 D) 835.以下叙述中错误的是A) 用户自定义的函数中可以没有return语句B) 用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C) 用户自定义的函数中若没有return语句,则应当定义函数为void类型D) 函数的return语句中可以没有表达式36.若程序中定义了以下函数double myadd (double a,double b){ return (a+b); }并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下错误的说明是:A) double myadd (double a, b); B) double myadd (double, double );C) double myadd (double b, double a); D) double myadd (double x, double y);37.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:A) 地址传递B) 双向值传递C) 单向值传递D) 传递方式由用户指定38.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是:A) 函数的实参和其对应的形参共占同一存储单元B) 同名的实参和形参占同一存储单元C) 形参只是形式上的存在,不占用具体存储单元D) 函数的形参和实参分别占用不同的存储单元39.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:A) 函数调用可以作为独立的语句存在B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中D) 函数调用可以作为一个函数的形参40.凡在函数内未指定的存储类型变量,其隐含的存储类型为:A) register B) static C) extern D) auto41.以下叙述中正确的是:A) 未在定义语句中赋初值的变量初值都是随机值B) 全局变量的作用域一定比局部变量大C) static类别变量的生存期贯穿于整个程序的运行期间D) 函数的形参都属于全局变量42.在一个C语言源程序文件中所定义的全局变量,其作用域为:A) 所在文件的全部范围B) 所在程序的全部范围C) 所在函数的全部范围D) 由具体定义位置和extern 说明来决定范围第6章数组43.若在main ( ) 中有定义int a [5] ; 则数组a 中所有元素的初值为:A) 不确定B) 0 C) 1 D) -144.若有以下定义语句:int m[ ] = { 5, 4, 3, 2, 1 },i = 4;, 则下面对m数组元素的引用中错误的是:A) m[ --i ] B) m [ 2*2 ] C) m [m [0] ] D) m [ m[i] ]45.若定义a[ ][2] = { 1, 2, 3, 4, 5, 6, 7 };则a数组中行的大小是:A) 2 B) 3 C) 4 D) 无确定值46.若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是A) a[0][4] B) a[1][3] C) a[0][3] D) a[1][4]47.以下能正确定义数组并正确赋初值的语句是:A) int N = 5, b[N][N]; B) int a[1][2] = {{1}, {3}};C) int c[2][ ] = {{1, 2}, {3, 4}} D) int d[3][2] = {{1, 2}, {3, 4}};48.以下能正确定义二维数组的是:A) int a[ ][3]; B) int a[ ][3]=2{2*3}; C) int a[ ][3]={1}; D) int a[2][3]={{1},{2},{3,4}}49.若定义a [ ][3] = { 1, 2, 3, 4, 5, 6, 7,8 };,则数组a中行的大小是:A) 2 B) 3 C) 4 D) 无确定值50.在以下定义中,正确的说明语句为:A) int a[ 'a' ] B) int a[3, 4] C) int a[ ][ ] D) int *a[10];51.用数组名作为函数参数时,它传递给函数是:A) 数组首地址B) 整个数组C) 数组的第一个值D) 数组的全部地址52.以下能正确定义一维数组的选项是:A) int a[3]={0,1,2,3}; B) char a[ ]={0,1,2,3,}; C) char a={'A','B','C'}; D) int a[3]="012";53.若有定义语句:char s[10] = "1234567\0\0" ; ,则strlen (s) 的值是:A) 7 B) 8 C) 9 D) 10第7章指针54.设有定义:int n1=0, n2, *p = &n2, *q = &n1;,以下赋值语句中与n2 = n1;语句等价的是:A) *p = *q; B) p = q; C) *p = &n1; D) p = *q;55.若有定义:int x = 0, *p = &x;,则语句printf ( " %d \n ", *p ); 的输出结果是:A) 随机值B) 0 C) x的地址D) p的地址56.设有定义:c har p[ ]={‟1‟,‟2‟,‟3‟}, *q = p; ,不能计算出一个char型数据所占字节数的表达式是:A) sizeof ( p ) B) sizeof ( char ) C) sizeof ( *q ) D) sizeof ( p[0] )57.有如下说明int a [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, *p = a; 则数值为9的表达式是:A) *p+9 B) *(p+8) C) *p += 9 D) p+858.有以下定义和语句:int a[3][2]={1,2,3,4,5,6,}, *p[3]; p[0] = a[1]; 则*(p[0]+1)所代表的数组元素是:A) a[0][1] B) a[1][0] C) a[1][1] D) a[1][2]59.若有以下说明和语句,int c[4][5], (*p)[5]; p = c; 能正确引用c数组元素的是:A) p+1 B) *(p+3) C) *(p+1)+3 D) *( p[0]+2)60.若有定义语句:int a[2][3], *p[3]; ,则以下语句中正确的是:A) p=a; B) p[0]=a; C) p[0]=&a[1][2]; D) p[1]=&a;61.若有定义int a[3][5],i,j;(且0<i<3,0<j<5), 则地址&a[i][j] 对应元素的不正确表示是:A) *(a+i*5+j) B) *(a[i]+j) C) *(a+i)+j D) *(*(a+i)+j);62.以下各语句或语句组中,正确的操作是:A) char s[5]="abcde"; B) char *s; gets(s); C) char s[5]; gets (&s); D) char *s ="abcde";63.把字符串"OK! " 赋值给变量不正确的语句或语句组是:A) char a [] = "OK! "; B) char a [8] = { 'O', 'K', '! ', '\0' };C) char *p ; p = "OK! " ; D) char p; strcpy ( p , "OK! " ) ;64.定义compare (char*s1,char*s2) 函数,以实现比较两个字符串大小的功能。

相关文档
最新文档