《C语言程序设计》试卷7参考答案
C语言程序设计(附答案)
C语言程序设计考试试卷(附答案)计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。
A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。
int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。
C语言程序设计试题及答案解析
C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
大学生C语言程序设计(第四版 谭洪强)实验7 答案
实验七 参考答案(参考答案)(1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。
例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。
注意:n 的值要求不大于100。
算法分析:使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。
注意:i 的倒数要表示成:1.0/i;参考子函数如下:double fun(int n){double sum=0;int i;for(i=5;i<=n;i++)if(i%5==0||i%9==0)sum=sum+1.0/i;return sum;}(2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。
n s ⋯++++⋯++++++=321132112111例如:若n 的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。
参考子函数如下:float fun(int n){float sum=1; //sum 中已经累加了第一项的值int i,m=1; //m 表示每项的分母;for(i=2;i<=n;i++){ m=m+i;sum=sum+1.0/m;}return sum;}(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。
合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。
例如,当a=45,b=12,调用该函数后,c=5241。
算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。
《C语言程序设计》试题七及答案
《C语言程序设计》试题七 (1)一、填空题 (1)二、选择题 (2)三、判断题 (3)四、程序填空题 (4)五、阅读程序,写出下列程序段的结果 (5)六、编程题 (6)《C语言程序设计》试题七答案 (7)《C语言程序设计》试题七一、填空题1.在C语言程序设计中,正确的标识符是由____________________组成的。
2.设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。
5.下面运算符< % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号/*……*/ 所起作用是_________________________。
7.写出下面表达式的值3*5/7+7%3____________________ x=2 ; y=4; (x++)+y _____________________ 3+4>=7-10_____________________ 3>4 ? 3%2: 1 ___________________x=2,y=2;++x||++y_______________ x=3 ; x+=x-=2 _____________________二、选择题⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为()A.FILE B.RUN C.EDIT D.OPTION⑵.下列语句不具有赋值功能的是()A.a*=b B.x=1 C.a+b D.a++⑶.C语言程序中,当出现条件分支语句if~else时, else与()组成配对关系A.同一复合语句内部的if B.在其之前任意的ifC.在其之前未配对的最近的if D.首行位置相同的if⑷.下列数组定义方式不正确的语句是()A.char x[5]; B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};C. int x[10]={12,13,14,15}; D.int y[];⑸. 若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A. *(a+2) B.a[p-3] C.p+2D.a+3⑹. 下列()表达式的值为真a=5; b=8; c=10; d=0A.a*2>8+2 B.a&&d C. (a*2-c)||d D.a-b<c*d⑺. 下列字符数组长度为5的是() A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }⑻. 执行下列程序后,其结果为()int a[]={2,4,6,8,10,12}; *p;p=a;*(p+4) =2;printf(“%d,%d\n”,*p,*(p+4));A.0,10 B.0,2 C.2,10 D.2,2⑼.有下列结构体,对该结构体变量stu的成员项引用不正确的是()struct student{ int m;float n;} stu ,*p;A. stu.n B.p->m C.(*p).m D.p.stu.n ⑽.下列函数中不能用于对文件进行输入输出操作的是()A.fscanf( ) B.printf( ) C.fgetc( ) D. fputs( )三、判断题1.C语言程序设计可以对计算机硬件进行操作。
C语言程序设计试题及答案
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共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语言程序设计试卷及答案
C语言程序设计试卷及答案(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2C 语言程序设计 笔试试题题号 一 二 三 四 五 六 笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
将正确答案填入下面框中。
(本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 有以下程序 main() {int a=1,b=0; if(!a) b++;else if(a==0) if(a) b+=2; else b+=3;printf(“%d\n ”,b); }则程序输出( A )。
A) 0B) 1C) 2D) 32. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。
A) a%(int)(x-y)B) a=x!=y C) (a*y)%b D) y=x+y=x号学名姓注意行为规范 遵守考试纪律3. 若有定义 int (*p)[3];则下列说法正确的是( C )。
A) 定义了基类型为int的三个指针变量B) 定义了一个名为 *pt、具有三个元素的整型数值C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具有三个元素的整型数组4. 有以下程序段main(){ int x=10;while(x--);printf("x=%d\n",x);}则最后的输出结果是:( B )。
A) x=0 B) x= -1 C) x=1 D)while构成无限循环5. 有以下程序:int fun(){static int x=1;x *= 2;return x;}main( ){ int i,s=1 ;for(i=1 ;i<=2 ;i++) s=fun() ;printf(“%d\n ”,s) ;}执行后的输出结果为( D )。
专升本考试《C语言程序设计》试卷
专升本考试《C语言程序设计》试卷一、选择题1.C语言中,sizeof运算符返回的是什么类型的值?A. intB. floatC. doubleD. size_t正确答案:D. size_t解析:sizeof运算符返回的是size_t类型的值,用于表示内存中对象的大小。
2.下列哪个选项是C语言的关键字?A. declareB. assignC. typedefD. define正确答案:C. typedef解析:typedef是C语言的关键字,用于定义自定义类型。
3.在C语言中,scanf函数的返回值是什么?A. 读取到的字符的个数B. 读取到的整数C. 读取到的字符串D. 读取失败的标志正确答案:A. 读取到的字符的个数解析:scanf函数返回成功读取到的字符的个数。
4.下面哪个选项是C语言中的逻辑与运算符?A. &&B. ||C. !D. &正确答案:A. &&解析:C语言中,逻辑与运算符用&&表示。
5.在C语言中,以下哪个选项是正确的注释符号?A. //B. ||C. ##D. //正确答案:A. //解析:在C语言中,//用于表示单行注释。
二、填空题1.标准库函数strlen用于计算给定字符串的长度。
2.for循环的语法结构为:for (初始表达式; 条件表达式; 增量表达式) {循环体}3.C语言中,用于输出到标准输出设备的关键字是printf。
4.在C语言中,用于定义常量的关键字是const。
5.scanf函数中,格式化控制符%d用于读取整数。
三、编程题1.编写一个C程序,实现输入两个整数,输出它们的和。
```c #include <stdio.h>int main() { int a, b; printf(。
C语言程序设计课后习题参考答案
《C语言程序设计》课后习题参考答案(总23页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案――武汉大学出版社习题1参考答案一、选择题1. A2. D二、填空题1. BASIC、FORTRAN、AL_GOL60和COBOL2. 83. 关键字4. 编辑、编译、链接和运行三、简答题1.答:(1)C语言具有结构化的控制语句。
C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。
(2)C语言具有丰富的数据结构类型。
C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。
C语言还提供了与地址密切相关的指针类型。
此外,用户还可以根据需要自定义数据类型。
(3)C语言具有丰富的运算符。
C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。
(4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。
(5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。
它既是成功的系统描述语言,又是通用的程序设计语言。
(6)C语言与汇编语言相比,可移植性好。
(7)功能强大。
C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。
现在许多系统软件都用C语言来描述,可以大大提高了编程效率。
2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。
3.答:(1)操作系统的设计与实现。
C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。
(2)工业控制。
由于C语言具有简洁、灵活、代码效率高、能进行位操作等优点,C语言大量应用在单板机、单片机上,以及嵌入式领域等。
C语言程序设计试题及答案完整版
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
C语言程序设计教程 第七章 课后习题参考答案
for(i=0;i<N;i++)
{
printf("%4d",a[i]);
}
bubble_sort(a,N);
printf("\n");
}
void bubble_sort(int a[],int n)
{
int i,j,tmp;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
for(i=0;i<n/2;i++)
{
t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
}
for(i=0;i<n;i++)
{
printf("%-4d",a[i]);
}
}
P1985对称矩阵
#include<stdio.h>
void print(int a[][3],int rows,int cols);
int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i,j,m=0,n=0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<M;i++)
m++;
3套 《C语言程序设计》试卷+参考答案
一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。
(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
8.一个C程序的执行是。
(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。
《C语言程序设计教程》习题参考答案
《C语言程序设计教程》习题参考答案《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (17)【习题9】 (17)【习题10】 (20)一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确1.11注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13在屏幕上输出自己名字的拼音。
提示:中文名字叫?张三?,对应的拼音为?Zhang San?,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。
《C语言程序设计教程》(第三版)李凤霞 主编——第七章习题答案
习题七一、单项选择题1、以下程序的输出结果是()。
main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i; /*a: 0 1 2 3 4 5 6 7 8 9 */for(i=0;i<3;i++)p[i]=a[i*(i+1)]; /*p:0 2 6 */for(i=0;i<3;i++)k+=p[i]*2; /* k=5+4+12=21 */printf(“%d\n”,k);}A)20 B)21 C)22 D)232、以下正确的数组定义语句是()。
A)int y[1][4]={1,2,3,4,5}; B)float x[3][ ]={{1},{2},{3}}; C)long s[2][3]={{1},{1,2},{1,2,3}}; D)double t[ ][3]={0};3、以下程序段的输出结果是()。
main(){int m[3][3]={{1},{2},{3}}; m 1 0 0 n 1 2 3int n[3][3]={1,2,3}; 2 0 0 0 0 0printf(“%d\n”,m[1][0]+n[0][0]); 3 0 0 0 0 0printf(“%d\n”,m[0][1]+n[1][0]);}A)0 B)2 C)3 D)10 3 0 24、以下程序的输出结果是()。
main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 1 2 3for(i=0;i<3;i++)printf(“%d,”x[i][2-i]); 4 5 6} 7 8 9A)1,5,9 B)1,4,7 C)3,5,7 D)3,6,95、对以下程序从第一列开始输入数据:2473↙,程序的输出结果是()。
#include “stdio.h”main(){char 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);}}}A)668977 B}668966 C}66778777 D)66887666、不能正确为字符数组输入数据的是( )。
计算机二级 C语言 程序设计基础试题七
《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。
C语言程序设计试卷含答案
C语言程序设计试卷含答案一、选择题(共20题,每题2分,共40分。
下面每题后面用小括号内标注了正确答案)1. 下列关键字中,用于定义变量的是(A)A. intB. ifC. whileD. for2. 变量的作用域是指变量的(C)A. 大小B. 类型C. 可访问范围D. 值3. 下列语句中,用于输出字符的是(B)A. scanfB. printfC. inputD. output4. 已知整型变量a和b,那么a += b; 等价于(D)A. a = a + b;B. a -= b;C. a = a - b;D. a = a + b;5. 在C语言中,用于表示“不等于”的运算符是(C)A. =B. ==C. !=D. >=6. 下面哪个for循环语句是正确的(A)A. for(int i=0; i<10; i++)B. for(int i<10; i++)C. for(int i=0; i<10)D. for(i=0; i<10; i++)7. 下列选项中,表示“或”运算符的是(D)A. &B. &&C. |D. ||8. 在C语言中,用于声明宏定义的关键字是(B)A. defineB. #defineC. constD. int9. 如果要判断一个整数是否为负数,正确的if条件语句是(C)A. if(n > 0)B. if(n => 0)C. if(n < 0)D. if(n <= 0)10. 下列哪个不是C语言的基本数据类型(D)A. intB. floatC. charD. string11. 下列关键字中,用于定义函数的是(C)A. mainB. includeC. voidD. for12. 在C语言中,表示“或者”的条件语句是(B)A. ifB. else ifC. switchD. while13. C语言中的“++”运算符表示(A)A. 自增B. 自减C. 相加D. 相减14. 下列哪个语句用于在C语言中声明字符类型的变量(C)A. String name;B. var name;C. char name;D. character name;15. 下列哪个不是C语言的关键字(D)A. enumB. longC. doubleD. true16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)A. exitB. breakC. endD. continue17. 下列哪个函数用于从标准输入读取一个整数(A)A. scanfB. printfC. getsD. puts18. 在C语言中,用于声明一个指针变量的关键字是(A)A. int*B. pointC. newD. pointer19. 下列哪个运算符用于获取变量在内存中的地址(B)A. &B. *C. #D. %20. 下列哪个函数调用可以输出字符串(A)A. printf("Hello World!");B. scanf("Hello World!");C. gets("Hello World!");D. puts("Hello World!");二、填空题(共5题,每题4分,共20分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1空正确答案是:按位与运算您填的是:你没有做这道题
第2空正确答案是:取变量地址运算您填的是:你没有做这道
A.可以把define和if定义为用户标识符B.可以把define定义为用户标识符,但不能把if定义为用户标识符
C.可以把if定义为用户标识符,但不能把define定义为用户标识符D. define和if都不能定义为用户标识符
正确答案是:B您选择的是:你没有做这道题
第11题:以下叙述正确的是
A.在C程序中,main函数必须位于程序的最前面B. C程序的每行中只能写一条语句
A. 160 -0xffff 011 B. -0xcdf01a0xe
C. -01 986.012 0668 D. -x48a2e5 0x
正确答案是:A您选择的是:你没有做这道题
第17题:以下不正确的叙述是
A.在C程序中,赋值运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变。D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
第2空正确答案是: len=29您填的是:你没有做这道题
第3空正确答案是: len=28您填的是:你没有做这道题
第5题:在C语言中,文件可以用【1】方式存取,也可以用【2】方式存取。
第1空正确答案是:顺序存取您填的是:你没有做这道题
第2空正确答案是:随机存取您填的是:你没有做这道题
第6题:若有定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是【1】。
C. C语言本身没有输入输出语句D. C程序进行编译的过程中,可发现注释中的拼写错误
正确答案是:C您选择的是:你没有做这道题
第12题:以下叙述不正确的是
A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数D.在C语言中,注释说明只能位于一条语句的后面
main()
{
int yy,mm,len;
printf("year,month=");
scanf("%d%d",&yy,&mm);
switch(mm)
{
case 1:case 3:case 5:case 7:
case 8:case 10:case 12:【1】;break;
case 4:case 6: case 9:case 11:len=30;break;
试卷祥细批改
一、选择题(每题2分,共40分)
第1题:一个C程序的执行是从
A.本程序的main函数开始,到main函数结束。B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。D.本程序文件的第一个函数开始,到本程序main函数结束。
正确答案是:D您选择的是:你没有做这道题
第13题:一个C语言程序是由
A.一个主程序和若干子程序组成B.函数组成
C.若干过程组成D.若干子程序组成
正确答案是:B您选择的是:你没有做这道题
第14题:若x,i,j,和k都是int型变量,则计算x=(i=4,j=16,k=32)表达式后,x的值为
A. 4 B. 16
case 2:
if(yy%4==0&&yy%100!=0||yy%400==0)
【2】;
else
【3】;
break;
default:printf("input error");break;
}
printf("the length of %d %d is %d\n",yy,mm,len);
}第1空正确答案是: len=31您填的是:你没有做这道题
A. 7 B. 8
C. 9 D. 10
正确答案是:B您选择的是:你没有做这道题
第8题:以下叙述中不正确的是
A.预处理命令行都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行
C.程序在执行过程中对预处理命令进行处理D.以下是正确的宏定义#define IBM_PC
正确答案是:C您选择的是:你没有做这道题
正确答案是:D您选择的是:你没有做这道题
第18题:以下正确的叙述是
A.在C程序中,每行中只能写一条语句B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型
C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符
正确答案是:B您选择的是:你没有做这道题
二、判断题(每题2分,共20分)
第1题:fgetc函数的作用是从指定文件中读入一个字符。
A.正确B.错误
正确答案是:A您选择的是:你没有做这道题
第2题:while循环是先判断表达式,后执行循环体。
A.正确B.错误
正确答案是:A您选择的是:你没有做这道题
第3题:说明语句int a[7]={5,6,7},由于数组长度与初值个数不同,故该语句不正确。
正确答案是:C您选择的是:你没有做这道题
第3题:下列运算符中优先级最高的是
A. < B. +=
C. && D. !=
正确答案是:A您选择的是:你没有做这道题
第4题:若有如下语句:int x=3;do { printf("%d\n",x -= 2);} while( ! ( -- x));
则上面程序段结果是
第3题:设C语言中,一个int型数据在内存中占2个字符,则int型数据的取值范围为【1】。
第1空正确答案是: -32768~+32767您填的是:你没有做这道题
第4题:以下程序计算某年某月有几天。其中判别闰年的条件是:能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。请在【】内填入正确内容。
A.正确B.错误
正确答案是:B您选择的是:你没有做这道题
第4题:如果a是二维数组名,则a[0]、*a(a+0)、*a都表示第0行第0列元素的地址。
A.正确B.错误
正确答案是:B您选择的是:你没有做这道题
第5题:字符输入函数getch()是"可回显"字符输入函数。
A.正确B.错误
正确答案是:B您选择的是:你没有做这道题
正确答案是:A您选择的是:你没有做这道题
第2题:#define能作简单的替代,用宏替代计算多顶式4*x+3*x+2的值,正确的宏定义是。
A. #define f(x) 4*x+3*x+2 B. #define f 4*x3*x+2
C. #define f(a) (4*a+3*a+2) D. #define (4*a+3*a+2) f(a)
第6题:在switch语句中必须使用break语句。
A.正确B.错误
正确答案是:B您选择的是:你没有做这道题
第7题:for循环只能用于循环次数已经确定的情况。
A.正确B.错误
正确答案是:B您选择的是:你没有做这道题
第8题:C语言的任何一个源程序中必须有一个主函数。
A.正确B.错误
正确答案是:A您选择的是:你没有做这道题
第9题:以下关于运算符优先顺序的描述中正确的是
A.关系运算<算术运算符<赋值运算符<逻辑与运算符B.逻辑与运算符<关系运算符<算术运算符<赋值运算符
C.赋值运算符<逻辑与运算符<关系运算符<算术运算符D.算术运算符<关系运算符<赋值运算符<逻辑与运算符
正确答案是:C您选择的是:你没有做这道题
第10题:以下叙述正确的是
第1空正确答案是: 8您填的是:你没有做这道题
第7题:若a是int型变量,则计算表达式a=25/3%3后a的值为【1】。
第1空正确答案是: 2您填的是:你没有做这道题
第8题:若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a;后a的值为【1】。
第1空正确答案是: -60您填的是:你没有做这道题
A.输出的是1 B.输出的是1和-2
C.输出的是3和0 D.是死循环
正确答案是:B您选择的是:你没有做这道题
第5题:若有说明:int a[10];则对a数组元素的正确引用是
A. a[10] B. a[3.5]
C. a[-5] D. a[10-10]
正确答案是:D您选择的是:你没有做这道题
第6题:若有说明:int *p,m=5,n;以下正确的程序段是
第9题:有int a=3,b=4,c=5;,由表达式a||b+c&&b==c的值为【1】
第1空正确答案是: 1您填的是:你没有做这道题
第10题:在一个C源程序中,注释部分两侧的分界符分别为【1】和【2】。
第1空正确答案是: /*您填的是:你没有做这道题
第2空正确答案是: */您填的是:你没有做这道题
第11题:在C语言中的实型变量分为两种类型,它们是【1】和【2】。
第1空正确答案是:单精度型(float)您填的是:你没有做这道题
第2空正确答案是:双精度型(double)您填的是:你没有做这道题
第13题:将变量i定义为整型指针变量的说明语句是【1】。
第1空正确答案是: int *i;您填的是:你没有做这道题
第19题:在C语言中,要求运算数必须是整型的运算符是
A. / B. ++