哈尔滨工业大学C语言MOOC第12周编程题在线测试

合集下载

《C语言程序设计》第12章在线测试

《C语言程序设计》第12章在线测试

《C 语言程序设计》第12章在线测试《C 语言程序设计》第12章在线测试剩余时间: 54:28答题须知:1、本卷满分20分。

2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。

3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)1、若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是:A 、a[p]B 、p[a]C 、p+2D 、*(p+2)2、在C 语言中,关于文件存取方式,:A 、只能顺序存取B 、只能随机存取(也称直接存取)C 、可以顺序存取,也可以随机存取D 、只能从文件开头存取3、已知定义“int x = 1, *p”,则合法的赋值表达式是( )。

A 、p = &xB 、p = xC 、*p = &xD 、*p = *x4、执行“char a[10]={"abcd"},*p =a;”后,*(p+4)的值是( )。

A 、字符ˊdˊB 、转义符ˊ\0ˊC 、常量"abcd"D 、不能确定5、若有int a[10],*p =a;,则( )。

A 、p++可以使p 指向下一个字节B 、p+=2 相当于p =sizeof(a)/10C 、p++可以使p 指向下一个元素,即a[1]的首地址D 、p+=2可以使p 指向下一个元素,即a[1]的首地址第二题、多项选择题(每题2分,5道题共10分) 1、C 语言中的文件分类是:A 、文本文件和数据文件B 、文本文件和二进制文件C 、数据文件和二进制文件D、顺序文件和随机文件2、已有char s[10][10]={0};int i=10;。

在下列表达式中,没有意义的表达式是:A、s[i][i]B、*(*(s+i)+i)C、*(&(s+i)+i)D、*(*(s+i-1)+i-1)3、若有int x=3,*px; float y=3,*py;,则正确的赋值表达式是 ( )。

哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷)

哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷)

哈尔滨工业大学C语言期末试卷(2007秋季人文学院笔试A卷) 一、填空题(共20分,每空2分)1.C语言中简单数据类型包括、、。

2.C语言中用_______表示逻辑值“假”,用________表示逻辑值“真”。

3. char *p[10];这条语句的含义是:__ ___ _ _ 。

4.设有语句“int a=3;”,执行语句“printf(”%d”,-a++ );”后,输出结果是 , 变量a的值是。

5. 如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可以在程序编译阶段自动被初始化为。

6. 在C语言中,可以用定义一种新的数据类型。

二、选择题:(共16分,每题2分)1.在C语言中,函数的隐含存储类别是()。

A) auto B) static C) extern D) 无存储类别2.若用数组名作为函数调用时的实参,则实际上传递给形参的是()。

A.数组的首地址 B. 数组的第一个元素值C.数组中全部元素的值D. 数组元素的个数3.已知struct sk{int a;float b;}data,*p;若有p=&data,则对data中的成员a正确引用是()A. (*p).dataB.(*p).aC.p->data.aD. p.data.a4.在while(x)语句中的x与下面条件表达式等价的是:。

A. x!=0B. x==1C. x!=1D. x==05.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A. j*n+iB. i*n+jC. i*n+j-1D. i*n+j+16.设有声明语句:int a=1,b=0;则执行以下语句后输出为:。

switch (a){case 1:switch (b){case 0: printf("**0**");break;case 1: printf("**1**");break;}case 2: printf("**2**");break;}A **0**B **0****2**C **0****1****2**D 有语法错误7.以下程序运行结果是()main(){char s[]=”Address”;printf(”%d\n”, strlen(s));}A) 7 B) 8C) 9 D) 108.以下不正确的描述是()A) 在函数外部定义的变量是全局变量B) 在函数内部定义的变量是局部变量C) 函数的形参是局部变量D) 局部变量不能与全局变量同名三、写出下列程序的运行结果。

哈工大C语言程序设计精髓MOOC慕课12周编程题答案

哈工大C语言程序设计精髓MOOC慕课12周编程题答案

"/*下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。

目前程序存在错误,请将其修改正确。

并按照下面给出的运行示例检查程序。

*/#include<>#include <> 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] >= 101 && score[i] <= 191){ 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 HH, grade);return 0;}""#include<>#include<>int main(){int n,a,i,j;double p=0,q=0;printf("“Input a,n:\n"");scanf( ""%d,%d"",&a,&n);for(i = 1;i< = n;i + +){for(j=0,p=0;j<i;j + +){ p=p+a*pow(10,j);} q=p+q;}printf('"'sum=%.0f\n'"',q);return 0;}""/*n块砖(27<n<=77 ), 36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人?请用穷举法编程求解n的值要求从键盘输入。

哈工大 C语言实验报告(答案)

哈工大 C语言实验报告(答案)

实验1简单C 程序设计2、将下列由程序流程图描述的算法,转换为C 源代码并填写到图1-3b 框中,然后输入计算机并运行后并分析其运行结果(本小题2分)。

图1-3a 程序流程图图1-3bC 源程序3、项目编程(本小题12分)(1)请向计算机输入a,b,c 三个值,经过程序处理后,要求输出其中最大的一个。

/*C 语言源代码*/main(){}项目要求:①画出程序流程图;②根据流程图编写程序图1-4a 程序流程图图1-4b C 源程序(2)请向计算机输入a,b,c 三个值,经过程序处理后,要求按值从小到大输出。

项目要求:①画出程序流程图;②根据流程图编写程序/*输出最大值*/main(){}项目提示:①可采用if结构;②a,b,c由scanf函数输入程序流程图/*将a,b,c三个值由小到大输出*/main(){}1-5a程序流程图图1-5b C源程序(3)编程实现打印下列由字母组成的树形。

说明:本项目编程的知识点是让学生对双重循环语句结构的理解,清楚双重循环的特点(即当外循环变量中的值变化一次时,则内循环变量中的值要变化若干次)。

提示:可用外循环变量代表行数;内循环变量代表需打印字符的个数。

难点:①字符个数是按奇数变化递增②左右边界字符打印的位置图1-6a字母A-G组成的树形/*打印图形*/main(){}图1-6b C源程序(4)设计报选体育科目统计程序设某学校在新生入学时,需报选体育选修科目。

体育科目包括:篮球、排球、体操、兵乓球和网球。

请为某班级(30人)统计报选各体育科目人数。

项目要求:①画出程序流程图;②根据流程图编写源程序项目提示:可采用switch与for结构程序流程图C语言源代码main(){}图1-7a程序流程图图1-7b C 源程序实验2数组与排序五、项目编程(本题12分,每小题4分)1、将下列一组数读入到a 数组中,然后从a数组中找出其中最大的元素并与第一个数互换;然后从a数组中找出最小的元素并与最后一个数互换,而其余元素的位置不变。

12级试题

12级试题

3、执行下列程序段的输出结果是【 3 】。

#include <stdio.h> #include <string.h>void main(){ char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2));printf("%s",str); }A )xyzabcABCB )zabcABC C )yzabcABCD )xyabcABC 4、对一维数组 a 的正确说明是【 4 】。

A )int a(10);B )int n=10,a[n];C )int n;D )#define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n];5、计算符号函数,以下正确的程序段是【 5 】。

A )if(x<0)y=-1; else if(x=0) y=0; else y=-1;B )if(x>=0) if(x>0)y=1; else y=0; else y=-1;C )y=-1; if(x!=0) if(x>0) y=1; else y=0;D )y=0; if(x>=0) if(x>0)y=1; else y=-1;6、有以下定义和语句:#include <stdio.h>struct student{ int age;int num;} stu[3]={{1001,20},{1002,19},{1003,21}};void main(){ struct student *p;p=stu;...}则不正确的引用是【 6 】。

A)(p++)->num B)p++ C)(*p).num D)p=&stu.age二、阅读程序,写出程序的运行结果(每题4分,共24分)1、下列程序输出结果为【 1 】。

哈工大C语言试题

哈工大C语言试题

哈尔滨工业大学(威海)2008/2009秋季学期C 语言程序设计 笔试试题(A 卷)题号 一二三四五六笔试(70%) 平时 (30%) 总分分数试卷说明: 1. 卷面总分100分,取卷面成绩的70%计入总分;2. 选择题、填空题与写运行结果题必须在答题卡内答题;3. 答题时禁止拆开试卷钉,背面即为草稿纸;4. 答题时间105分钟。

一、单项选择题(本题16分,每小题2分)题号 1 2 3 4 5 6 7 8 答案CDCDCCDB1. C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为______的文件。

A) .c B) .obj C) .exe D) .cpp 2. 表达式 !(x>0||y>0) 等价于_____。

A) !x>0||!y>0 B) !(x>0)||!(y>0) C)!x>0&&!y>0 D) !(x>0)&&!(y>0) 3. 已知函数的调用形式:fread(buffer, size, count, fp); 其中buffer 代表的 是( )。

A) 一个整型变量,代表要读入的数据项总数 B) 一个文件指针,指向要读入的文件C) 一个指针,指向要存放读入数据的地址 D) 一个存储区,存放要读入的数据项 4. 以下不能正确定义二维数组的选项是A) int a[2][2]={{1},{2}}; B) int a[][2]={1,2,3,4};C) int a[2][2]={{1},2,3}; D) int a[2][]={{1,2},{3,4}}; 5. 以下程序的输出结果是 _____。

main() {char ch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}A) \"AAAA\" B) \"BBB\" C) "BBB" D) "AAAA"号学 名 姓教研室主任签字: 注意行为规范 遵守考试纪律6. 对y在[3,23]和[100,200]范围内为真的确表达式为_____。

2022.12全国青少年软件编程(C语言)等级考试试卷(二级)

2022.12全国青少年软件编程(C语言)等级考试试卷(二级)

1.数组逆序重放将一个数组中的值按逆序重新存放。

例如,原来的顺序为8,6,5,4,1。

要求改为1,4,5,6,8。

输入输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两个整数之间用空格分隔。

输出输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

样例输入样例输出2.最长最短单词输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。

单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

输入一行句子。

输出两行输出:第1行,第一个最长的单词。

第2行,第一个最短的单词。

样例输入样例输出3.计算鞍点给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。

鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。

例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。

11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25输入输入包含一个5行5列的矩阵输出如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"样例输入样例输出4.病人排队病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:1. 老年人(年龄 >= 60岁)比非老年人优先看病。

2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。

3. 非老年人按登记的先后顺序看病。

输入第1行,输入一个小于100的正整数,表示病人的个数;后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。

输出按排好的看病顺序输出病人的ID,每行一个。

哈工大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;}写一个程序,将接收的华氏温度转换为对应的摄氏温度。

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