哈工大C语言程序设计习题ex6
C语言程序设计阶段考试练习题(答案)
C语言程序设计阶段考试练习题(答案)work Information Technology Company.2020YEAR考试科目:计算机程序设计基础考试时间:一、单项选择题(每小题1分,共30分)1.一个C程序的执行是从()。
(A)main()函数开始,直到main()函数结束(B)第一个函数开始,直到最后一个函数结束(C)第一条语句开始,直到最后一条语句结束(D)main()函数开始,直到最后一个函数结束2.在C语言程序中,main()的位置()。
(A)必须作为第一个函数(B)必须作为最后一个函数(C)可以任意(D)必须放在它所调用的函数之后3.一个C语言程序是由()。
(A)一个主程序和若干个子程序组成(B)一个或多个函数组成(C)若干个过程组成(D)若干个子程序组成4.下列说法中,错误的是()。
(A)每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号(B)每个函数都有一个函数头和一个函数体,主函数也不例外(C)主函数只能调用用户函数或系统函数,用户函数可以相互调用(D)程序是由若干个函数组成的,但是必须有、而且只能有一个主函数5.下列符号中,不属于转义字符的是()。
(A)\\ (B)\0xAA(C)\t (D)\06.C语言源程序的基本单位是()。
(A)过程(B)函数(C)子程序(D)标识符7.以下结果为整数的表达式是()。
(设有inti;char c; float f;)8.(A)i+f (B)i*c(C)c+f (D)i+c+f9.设有char ch; 以下不正确的赋值语句是()。
10.(A)ch=’123’;(B)ch=’\xff’;(C)ch=’\08’;(D)ch=”\”;11.逗号表达式(a=3*5,a*4), a+15的值是()。
a的值是()。
12.①(A)15 (B)60 (C)30 (D)不确定13.②(A)60 (B)30 (C)15 (D)9014.设int a=2,b,c; 则执行c=b=a――;语句后,a 的结果是(B )。
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语言程序设计练习题(含程序及参考答案)
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
哈工大c语言 练习题
求用户输入的两个数的商,程序运行时,以如下格式输入数据:Input two integers:4 2↙请改正程序中的错误,使它能得出正确的结果。
#include <>main(){int a, b, c;printf("Input two integers:");scanf("%d,%d", &a, &b);c = a\b;printf("The quotient of a and b is :%d", c);}# include <>int main (){int a,b,c;printf ("Input two integers:");scanf ("%d %d",&a,&b);c=a/b;printf ("The quotient of a and b is :%d\n",c);return 0;}使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。
输出的数据保留两位小数点。
输入格式要求:"%lf"提示信息:"Input r:"输出格式要求:"printf WITHOUT width or precision specifications:\n""circumference = %f, area = %f\n""printf WITH width and precision specifications:\n""circumference = %, area = %\n"程序运行示例如下:Input r:printf WITHOUT width or precision specifications:circumference = , area =printf WITH width and precision specifications:circumference = , area =#include <>int main(){const double PI=;double r;printf("Input r:");scanf("%lf", &r);printf("printf WITHOUT width or precision specifications:\n");printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r);printf("printf WITH width and precision specifications:\n");printf("circumference = %, area = %\n",2*PI*r,PI*r*r);return 0;}写一个程序,将接收的华氏温度转换为对应的摄氏温度。
哈工大c语言试题
哈工大 2008 年 秋 季学期C 语言 试题考成绩和卷面笔试成绩各自所占比例折合后累加计算。
一、填空题(6分,每题1分)1.设变量定义为“int x,y[10];”,则“_________”与“*(y+x)”等效。
2.如果在程序中使用了strcmp 库函数,则程序前面要写#include "________"。
3.1.37×1042在C 语言中写作________4.把C 语言源程序翻译成机器语言目标程序的过程称为“__________”,翻译得到的目标程序扩展名为“__________”。
5.已知x 是double 型变量,“scanf("________",&x);”用于从键盘读取数据存放到x 中。
6. 已知:“#define M(x,y) x*y ”,则表达式“M(5+4,3-1)”的值为________。
二、单项选择题:(10分,每题2分)1.判断字符串s1与字符串s2相等,应当使用: 。
A) if (s1 = s2)B) if (strcmp(s1, s2))C) if (!strcmp(s1, s2)) D) if (strcmp(s1, s2) = 0)2.用“if(0<x<3) x=x+1;”实现“如果x 在0到3之间则将其值加1”的操作,________。
(A) 正确(B) 有语法错误 (C) 有逻辑错误 (D) 有连接错误3.#include<stdio.h>#include<string.h> main() {printf("%d\n", strlen("IBM\n012\t\"\\\0")); }则程序运行后的输出结果是。
A) 10 B) 11 C) 16 D) 124.函数定义的首部写作“int func( )”,x、y是int型变量,则__________是正确的调用。
C语言程序设计习题集及答案
C语言程序设计习题集及答案基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –11211 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double 数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
C语言程序设计各章练习题
C语言程序设计各章练习题《C 语言程序设计》各章练习题2016年12月汇编第1-3章 C 语言基础、编程规范、顺序结构程序设计编程题1:设a 和b 均为int 型变量,编写一个程序,通过键盘读入a,b 的值,然后交换a,b 的值。
要求屏幕显示“输入2个整数,用空格隔开”的提示语句,并且输出交换前a,b 的值,交换后a,b 的值。
附加要求:(1)允许定义第3个变量,实现交换;(2)不允许定义第3个变量,实现交换。
第4章选择结构程序设计编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎪⎩⎪⎪⎨⎧>=<+-=0020212x x x x x y编程题2:根据下列函数关系写程序,要求提示输入x 的值,输出y 的值。
⎪⎩⎪⎨⎧>≤≤--<=002222x x x x x y编程题3:求 ax 2+bx+c=0方程的解。
(只输出b 2-4ac>=0的求解结果,小于0,输出“不予求解!”)第5章 循环结构程序设计编程题4:编程计算∑=ni i 1。
要求提示键盘输入n ,如n 为负数,不予计算,直接返回。
编程题5:编程序计算n !,要求n 从键盘输入,如n 小于0,不予计算。
编程题6:从键盘输入一个数n ,判断n 是否是素数。
编程题6:编写程序输出1~100之间的偶数,要求屏幕显示时5个偶数一行,每个数占5位,右对齐。
编程题7:编程计算100到1000之间有多少个数其各位数字之和是5,并将其输出。
编程题8:求满足下列条件的三位数n ,它除以11(整数相除)所得到的商等于n 的各位数字的平方和,且其中至少有二位数字相同的数。
编程题9:有一些十进制整数对ab 和cd 具有如下特性:ab×cd=ba×dc,其中a≠b 且c≠d。
如:12×42=21×24。
请编程找出30~50之间满数,将100~200之间的素数全部输出,要求屏幕上每个数占4位,每行显示5个素数,左对齐。
C语言程序设计-A卷
哈尔滨工业大学〔威海〕2007/2021学年秋季学期C 语言程序设计 笔试试题〔A 卷〕题号 一二三四五六笔试(70%) 综合 (30%) 总分分数试卷说明:1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷反面即为草稿纸;4. 答题时间120分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
〔此题16分,每题2分〕题号 1 2 3 4 5 6 7 8 答案1. 以下选项中合法的C 语言用户标识符是( )。
2. 有以下程序main() {int a=0, b=0, c=0, d=0; if(a=2) b=2; c=4; else d=3;printf("%d,%d,%d,%d\n",a,b,c,d); }那么程序输出( )。
A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0D) 编译有错号学名姓注意行为标准 遵守考试纪律3.用语句scanf(“%c%c%c〞,&c1,&c2,&c3);输入〞a,b,c〞时,变量c1、c2、c3的值分别为( )。
A) ‘a′,′b′,′c′B) ′a′,′b′,′′C) ′a′,′,′,′b′ D) ′a′,′′,′c′4.有以下程序段main( ){int k=0;while(k=1) k++;}那么while循环执行的次数是( )。
A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次5.有以下程序:#include <stdio.h>#include <string.h>main(){char *p=〞abc\101\0fghijk\0〞;printf(“%d〞,strlen(p));}执行后的输出结果为( )。
A) 6 B) 4 C) 12 D) 146.设有说明语句:int a=1, b=2, c=3, d=4, m=2, n=2;那么执行(m=a>b)&& (n=c>d)后n的值为( )。
C语言程序设计期末笔试试卷及答案
哈尔滨工业大学(威海)2011/2012学年春季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 综合 (30%) 总分分数1. 笔试卷面总分100分,取卷面成绩的70%计入总分;2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%;3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸;4. 答题时间105分钟。
一、单项选择题。
请把答案填入下面框中,不允许出框线。
(本题16分,每小题1分)题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案1. 下面程序的输出是______。
main(){ int x=10,y=3;printf("%d\n",y=x/y); }A) 0 B) 1 C) 3 D) 不确定的值 2. 下列函数的功能是______。
int fun1(char *x) { char *y = x; while(*y++); return(y-x-1); }A) 求字符串的长度 B) 将字符串X 连接到字符串Y 后面 C) 将字符串X 复制到字符串Y D) 比较两个字符串的大小号学名姓注意行为规范 遵守考试纪律3.以下对C语言函数的有关描述中,正确的是______。
A) C程序中有调用关系的所有函数必须放在同一个源程序文件中B) C函数既可以嵌套定义又可以递归调用C) 调用函数时,实参的值传送给形参D) 函数必须有返回值4.若用数组名作为函数调用的实参,传递给形参的是______。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数5.若有以下定义,则p+5表示_______.int a[10],*p=a;A) 元素a[5]的地址B) 元素a[5]的值C) 元素a[6]的地址D) 元素a[6]的值6.以下选项中,与k=n++完全等价的表达式是_______。
哈尔滨工业大学材料力学编程题c语言程序
材料力学上机课程作业:C语言编写1一个力作用下的任意截面的弯矩,挠度。
程序:#include <stdio.h>#include<math.h>double Mz,l,a,x,v,E,I,b,F;main(){printf("请输入长度l\n");scanf("%lf",&l);printf("请输入长度a\n");scanf("%lf",&a);printf("请输入弹性模量E\n");scanf("%lf",&E);printf("请输入极惯性矩I\n");scanf("%lf",&I);printf("请输入力F\n");scanf("%lf",&F);printf("请输入x\n");scanf("%lf",&x);b=l-a;if(x>0&&x<a){Mz=F*(l-a)*x/l;v=-F*b*x*(l*l-x*x-b*b)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else if(x>a&&x<l){Mz=F*a*(l-x)/l;v=-F*b*(l/b*pow(x-a,3)+(l*l-b*b)*x-x*x*x)/(6*E*I*l);printf("Mz=%f\n",Mz);printf("v=%f\n",v);}else{printf("數值溢出\n");}}运算结果:选取材料的L=1m,E=4.5GPa。
C语言程序设计综合练习题
C语言程序设计综合练习题1、C语言程序的基本单位是____ A) 程序行 B) 语句 C) 函数 D) 字符、C、12、C语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、A、13、C语言规定,程序中各函数之间 A) 既允许直接递归调用也允许间接递归调用 B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用 D) 不允许直接递归调用允许间接递归调用、A、14、C语言中可处理的文件类型是( ) A) 文本文件和数据文件 B)文本文件和二进制文件 C) 数据文件和二进制文件 D)数据代码文件、B、15、C语言可执行程序的开始执行点是( ) A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数、C、16、C语言提供的合法的数据类型关键字是 A)double B) short C) integer D) char、B、17、C语言中,运算对象必须是整型数的运算符是 A) % B) \ C) %和\ D) * *、A、18、C语言中函数返回值的类型是由( )决定。
A) return语句中的表达式类型 B) 调用函数的主调函数类型 C) 调用函数时临时 D) 定义函数时所指定的函数类型、D、19、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。
A、该数组的长度。
B、该数组的元素个数。
C、该数组中各元素的值。
D、该数组的首地址。
、D、110、C语言中数组下标的下限是________。
A、1 B、0 C、视具体情况 D、无固定下限、B、111、C语言中提供的合法关键字是____ A、swith B、cher C、case D、default、D、112、C语言中文件的存取方式是________。
哈工大秋《C程序设计》考试题A
考试时间120 分钟满分 70班号学号姓名题号一二三四五总分实验( 20)平时( 10)总成绩分数一、填空题.(共20分,每空1分)1.面向对象地程序设计方法(可用各种语言实现,如C++ 、 Java、C#等)具有三大特性 ,它们分别是,,.2.已知 m = 4, 执行 m++。
后 ,表达式地值是,m地值是,执行 ++m 。
后 ,表达式地值是,m地值是.3.已知 m = 3, n = 2, 则执行语句 m > n ? m++ : ++n,m++,m+n 。
后 ,表达式地值是.4.循环语句 while(int i = 0){ i-- 。
} 执行地循环次数是次;语句for(int i(0), j(0)。
i = j = 1 。
i++, j--) {; }执行地循环次数是次.5.为了使函数能够返回两个或者更多地值,可将形参设置为下列两种方式,它们分别是或,如果希望实参不被修改 ,那么需要对形参使用关键字限制 .6.定义在类体外地函数,如果希望成为内联函数,则必须在类体内地声明中用关键字标识;运算符地重载必须用关键字标识 .7.在 C++ 中 ,类地继承方式有三种 ,需要用关键字、和来定义 .默认继承方式为.8.在 C++ 中 ,定义友元类或者友元函数必须使用关键字.二、判断题,正确地请打√,错误地请打×.(共10分,每题1分)1.编译 C++ 源程序地过程中 ,出现了警告错误 ,也可以生成可执行文件 .()2. C++ 中 ,使用 #define 定义地常量必须给出类型说明,而使用const 给出地常量不用给出类型说明 .()3.表达式地值地类型只取决于运算符,与操作数无关 .()4.break 语句可以出现在各种不同循环语句地循环体中,continue 语句只能出现在循环体中 .()5.函数没有返回值时,可以不加任何类型地说明符;任何一个函数都可以设置默认参数,但是不允许将一个函数地所有参数设置为默认参数.()6.指向函数地指针可以作为函数参数;使用数组名作函数参数时,实参数组与形参数组是共享内存单元地 .()7.结构与联合地差别在于结构中地每个成员都有自己地内存地址,且都是不相同地 ,而联合中地所有成员是共享内存块地,且内存块地大小与成员中地最大内存块相同.()8.如果类地一个成员函数只存取该类地静态数据成员,可将该成员函数说明为静态成员函数;友元类地所有成员函数都可以对该类中地私有成员进行存取操作.()9.类型转换函数是类地成员函数,它是用来进行强制类型转换地,它不能定义为友元函数 ,也不能定义为静态地成员函数;带有一个参数地构造函数具有类型转换地作用.()10. 在公有继承中,派生类地对象不可以访问基类中地保护成员;在私有继承中,派生类地对象不可以访问基类中地公有成员;在保护继承中,派生类可以访问基类中地保护成员.()三、请分析下列程序 ,并回答问题 .(共 16分)1、给出下列程序地输出结果,并说明其功能 .2、给出下列程序地输出结果,并说明其功能 .#include <iostream.h>#include <iostream.h>void swap( int&,int& ) 。
中国大学MOOC-哈工大-C语言程序设计精髓第六-十二周编程题答案
6.1 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。
目前程序存在错误,请将其修改正确。
并按照下面给出的运行示例检查程序。
#include<stdio.h>#include <string.h>int main(){char score[100];int flag = 0, i, s;char grade;printf("Please input score:\n");while (1){flag=0;scanf("%s", score);for (i = 0; i < strlen(score); i++){if (score[i] >= '0' && score[i] <= '9'){continue;}else{flag = 1;break;}}s = atoi(score);if (s < 0 || s > 100 || flag == 1){printf("Input error!\n");printf("Please input score:\n");continue;}else{break;}}s = atoi(score);if (s >= 90){grade = 'A';}else if (s >= 80){grade = 'B';}else if (s >= 70){grade = 'C';}else if (s >= 60){grade = 'D';}else{grade = 'E';}printf("grade: %c\n", grade);return 0;}6.2 编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)题目内容:编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。
《C语言程序设计》练习题之第六套
第六套期末考试题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共15分)1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B.编译、连接C.连接、运行D.运行2.常数的书写格式决定了常数的类型和值,0x1011是( )A.8进制整型常量B.字符常量C.16进制整型常数D.2进制整型常数3.C语句“x*=y+2;”还可以写作( )A. x=x*y+2;B. x=2+y*x;C. x=x*(y+2);D. x=y+2*x;4.下列格式符中,可以用于以8进制形式输出整数的是( )A. %dB. %8dC. %oD. %1d5.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);6.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )A. 22,13B. 12,10C. 22,10D. 12,137.下列各语句定义了数组,其中一个不正确的是( )A. static int a[5],b[2][3];B. char no[30],rec[30,6];C. int x[]={2,4,6,8,10};D. int x[10]={1,2,3,4,5};8.宏定义“#define p(x,y,z) x=y*z;”的宏替换“p(a,x+5,y-3.1)”应为( )A. a=x+5*y-3.1B. a=(x+5)*(y-3.1);C. a=x+5*y-3.1D.a=(x+5)*(y-3.1)9.下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的( )A. float d,*p=d;B. float d,*p=&d;C. float d,p=d;D. float *p=&d,d;10.执行语句“for(i=0;i<10;++i,++a)scanf(″%d″,a);”试图为int类型数组a[10]输入数据,是错误的。
哈工大C语言程序设计A卷答案
for(n=10;n>1;n--)
s+=1/n;s += 1.0/n或s += (float)1/n2分
printf("%6.4f\n",s);
}
2.下面函数Squeeቤተ መጻሕፍቲ ባይዱ()的功能是删除字符串s中所出现的与变量c相同的字符。(本小题6分)
一、单项选择题(本题16分,每小题2分)
题号
1
2
3
4
5
6
7
8
答案
B
D
C
A
B
B
A
C
二、填空题。(本题20分,每空1分)
题号
答案
题号
答案
1
p=*a
11
h=q->next
2
*a+12
12
free(q)
3
求字符串长度
13
026
4
(int)
14
#include <stdio.h>
5
intpart
15
FILE *
题号
1
2
3
4
5
6
7
8
答案
3
13↙
2
4
1,6
un,g
here,ve
51,30
&#
四、根据功能描述改正程序中的错误。不得增行或删行,不得更改程序结构。(本题10分)
1.要求以下程序的功能是计算1+1/2+1/3+……+1/10的和。(本小题4分)
#include <stdio.h>
哈工大C语言程序设计作业
int i,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%8d",at[i][j]);
if(j==n-1)
putchar(10);
}
}
}
8、参考例8.6程序中的函数ReadScor()和Average(),输入某班同学某门课成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分(包括等于平均分)的学生人数。
#include<stdio.h>
#define N 10
#define M 10
void Transpose(int a[][N], int at[][M], int m, int n);
void InputMatrix(int a[][N], int m, int n);
void PrintMatrix(int at[][M], int n, int m);
#include<stdio.h>
int main()
{
int a[5][5],s[5],t[5];
int i,j,k,l,h,n,m;
for (i=0;i<=4;i++)
{
scanf("%d %d %d %d %d",&a[i][0]&a[i][1],&a[i][2],&a[i][3],&a[i][4]);
}
int FindMin(int s[],int n)
{
int Min=0,m=s[0],i;
for (i=1;i<n;i++)
哈理工C语言试题
哈尔滨理工大学Array 2007-2008学年第一学期考试试题A卷考试科目:结构化程序设计C 考试时间:120分钟试卷总分100分一、选择题1. 2. 3. 4. 5.6. 7. 8. 9. 10.11. 12. 13. 14. 15.16. 17. 18. 19. 20.二、填空题1.2.3.4.5.6.7.8.三、阅读程序,写出运行结果1. 2.3. 4.5. 6.四、程序设计1.2.3.哈尔滨理工大学2007-2008学年第一学期考试试题A 卷答案填在答题卡上一、选择题(在每个小题四个备选答案中选出一个正确答案)(本大题共20小题,每小题1分,总计20分)1.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是______[A] 3,2 [B] 4,3 [C] 3,3 [D] 4,22.double x,y;表达式x=1,y=x+3/2的值是______[A] 1 [B] 2 [C] 2.0 [D] 2.53.若变量已正确定义并赋值,表达式______不符合C语言语法。
[A] a*b/c;[B] 3.14%2[C] 2, b [D] a/b/c4.对于以下的变量定义,表达式_____不符合C语言语法。
struct node { int len;char *pk;} x = {2, "right"}, *p = &x;[A] p->pk[B] *p.pk [C] *p->pk [D] *x.pk5.有如下程序int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是_____[A] 12 [B] 13 [C] 14 [D] 156.若在定义语句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) 7.若变量已正确定义,有以下程序段i=0;do printf(“%d”,i); while(i++);printf(“%d\n”,i);[A]0,0 [B]0,1 [C]1,1 [D]程序进入无限循环8.若有定义语句:int a[2][3],*p[3];则以下语句中正确的是________[A]p=a [B]p[0]=a [C]p[0]=&a[1][2] [D]p[1]=&a系:软件学院软件工程出题教师郭红、张淑丽、王春英系主任:9.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是______[A]无限次[B]有语法错,不能执行[C]一次也不执行[D]执行1次10.在C语言中,共用体类型变量在程序运行期间_______[A] 所有成员一直驻留在内存中[B] 只有一个成员驻留在内存中[C] 部分成员驻留在内存中[D] 没有成员驻留在内存中11.下面程序段的运行结果是:long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }[A]1 [B]2 [C] 3 [D] 412.设有定义:int a=1,b=2,c=4;则以下选项中值为0的表达式是_____[A] (!a= =1)&&(!b= =0) [B] (a<b)&&!c||1 [C] a&&b [D] a|| (b+b)&&(c-a) 13.若t为double类型,则表达式:t=1,t+5,t++的值是______[A]1 [B]6.0 [C] 2.0 [D] 1.014.设变量定义为“int x, *p=&x;”,则&*p相当于_____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题6
6.3 阅读程序,按要求在空白处填写适当地表达式或语句,使程序完整并符合题目要求.
(1)下面程序模拟了骰子地6000次投掷,用rand函数产生1~6之间地随机数face,然后统计1~6每一面出现地机会(概率)存放到数组frequency中.
(2)从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素地下标位置,并输出.
(3)下面程序地功能是从键盘输入一行字符,统计其中有多少单词.假设单词之间以空格分开.
(4)下面地函数Squeeze(char s[],char c)地功能是删除字符串s中所出现地与变量c相同地字符.
(5)下面地函数MyStrcmp()用于实现函数strcmp()地功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符地ASCII码值之差作为函数值返回.
6.4 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和.
6.5 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数地位置对换后,再输出调整后地数组.
6.6 输入5×5阶地矩阵,编程实现:
(1)求两条对角线上地各元素之和.
(2)求两条对角线上行、列下标均为偶数地各元素之积.
6.7 编程打印如下形式地杨辉三角形.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
6.8 编程将下列矩阵中地元素向右移动一列,最右一列移至第一列.
1 4 6
8 10 12
6.9 利用公式c ij=a ij+b ij计算m×n阶矩阵A和m×n阶矩阵B之和.已知a ij为矩阵A地元素,
b ij 为矩阵B 地元素,
c ij 为矩阵C 地元素(i =1,2,…,m ;j =1,2,…,n ).
*6.10 利用公式c ij =∑=n
k ik a 1
*b kj 计算矩阵A 和矩阵B 之积.已知a ij 为m ×n 阶矩阵A 地元素
(i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 地元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 地元素(i =1,2,…,m ;j =1,2,…,m ).
6.11 输入一行字符,统计其中地英文字符、数字字符、空格和其他字符地个数.
6.12 编写一个函数Inverse(),实现将字符数组中地字符串逆序存放地功能.
6.13 不用函数strcat(),编程实现字符串连接函数strcat()地功能,将字符串srcStr 连接到字符串dstStr 地尾部.
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理.
版权为个人所有
This article includes some parts, including text, pictures, and design. Copyright is personal ownership.
用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本
文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.
Users may use the contents or services of this article for personal study, research or appreciation, and other
non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.
3 / 6
转载或引用本文内容必须是以新闻性或资料性公共免费信息为
使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.
Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.
5 / 6。