武汉理工大学继续教育《C语言程序设计(本)》在线作业答案

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

(完整版)《C语言程序设计》复习参考答案

(完整版)《C语言程序设计》复习参考答案

第一章【随堂练习1-2】1 .下面哪些标识符属于合法的用户自定义标识符:Main、void、_num、my$、a*、N4、3m、a-2答:合法的用户自定义标识符是:Main、_num、N42. 结合【例1.2】指出程序代码中所用到的标识符哪些是关键字,哪些是预定义标识符,哪些是用户自定义标识符。

答:关键字:void、int预定义标识符:in elude、main、prin tf、sca nf用户自定义标识符:a、b、c3. 分析【例1.2】中函数的结构,包括函数首部(函数返回值类型、函数名、形式参数) 、函数体语句(说明语句、可执行语句) 。

答:函数首部:void main(),其中函数返回值类型为void、函数名为main、形式参数无;函数体语句:{}内的语句为函数体,其中:说明语句为int a,b,c;,其余为可执行语句。

一. 单元练习一. 选择题1构成C语言程序的基本单位是()。

A .框架B .预处理C.函数 D .语句2 •在程序开发过程中,把文本文件格式源程序转化为二进制格式的目标程序的过程称之为()°A. 编辑B.编译C.连接D.运行3 •关于主函数,下列说法不正确的是()°A. —个完整的C语言应用程序有唯一的主函数B. 主函数的名称只能是m ai nC. 主函数可以被其他自定义函数调用D. C语言程序的运行从主函数开始,以主函数为核心展开4 .关于标识符,下列说法不正确的是()°A. 库函数名称为预定义标识符,不建议用作用户自定义标识符B. 关键字不能作为用户自定义标识符C. 用户自定义标识符中不区分大小写字母D. 标识符中可以出现下划线,且可以出现在标识符的任意位置5 .以下可用作用户自定义标识符的一组是()°A. void、return、ifB. printf、in elude、fabsC. Max、_abc、MainD. 2abc、pay$、sum-10二. 填空题1.______________________________________________________________ C语言程序一般由若干个函数构成,程序中应至少包含一个 _________________________________ ,其名称只能为°2.____________________________________ C语言程序中每条语句必须以结束。

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案

c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。

课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。

习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。

```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。

```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。

武汉理工大学继续教育本科c语言程序设计

武汉理工大学继续教育本科c语言程序设计

单选题1. C语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是()。

(A) void (B) long (C) int (D) doubleC难度:较易??分值:1.0??2. 下面叙述错误的是()。

(A) C源程序可由一个或多个函数组成(B)(C)(D) 注释说明部分只能位于C源程序的最前面D难度:较易??分值:1.0??3. 下面叙述错误的是()。

(A)(B)(C) 预处理命令行必须以分号结束(D) C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率D难度:较易??分值:1.0??4. ()语句符合C语言语法。

(A)(B)(C)(D)B难度:较易??分值:1.0??5. C语言中,数组名作为函数调用的实参时,下面叙述正确的是()。

(A) 传递给形参的是数组元素的个数(B) 传递给形参的是数组第一个元素的值(C) 传递给形参的是数组中全部元素的值(D) 形参数组中各元素值的改变会使实参数组相应元素的值同时发生变化D难度:较易??分值:1.0??6.(A)(B)(C)(D)A难度:较易??分值:1.0??7. 下面关于字符数组的叙述中,错误的是()。

(A)(B)(C)(D)A难度:较易??分值:1.0??8. 下面叙述正确的是()(A) 每行最多只能写两条语句(B) 程序中必需含有自定义函数(C)(D)D 难度:较易??分值:1.0??9. 以下叙述中正确的是( )。

(A)(B)(C)(D)A 难度:较易??分值:1.0??10. ( )是关于C 语言数据类型的正确叙述。

(A)变量必须先定义后使用(B)不允许使用空类型(C)枚举类型不是基本类型(D)数组并不是构造类型A 难度:较易??分值:1.0?11. ( )为正确的用户标识符。

(A)(B)(C)(D)D 难度:较易??分值:2.0??12. C 语言的下列运算符中,优先级最高的运算符是( )。

(A)(B)(C)(D)A 难度:较易??分值:2.0??13.(A) 16, 8(B) 8, 8(C) 16, 16(D)8, 16 A 难度:较易??分值:2.0??14. 不能对二维数组a 进行正确初始化的语句是( )。

武汉理工大学《C语言程序设计》期末考试试卷(A卷)

武汉理工大学《C语言程序设计》期末考试试卷(A卷)

武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011级各专业)一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是。

A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由。

A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是。

A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是。

#include<stdio.h>main(){int x;float y;scanf("=%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是。

A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是。

#include<stdio.h>{ int i=10,j=10;printf("%d,%d\n",++i,j--); }A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是。

#include<stdio.h>main(){ char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是。

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。

存储器是计算机中具有记忆能力的部件,用来存放程序和数据。

输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。

在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

武汉理工大学继续教育《C语言程序设计(本)》在线作业答案

武汉理工大学继续教育《C语言程序设计(本)》在线作业答案
A、8
B、9
C、10
D、0
5、以下程序段运行后s得值就是().int a[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1; for(i=0;i<3;i++)for(j=i+1;j〈3;j++)s+=a[i][j];
A、6
B、120
C、7
D、240
6、若有以下定义:struct node {int data; struct node*next;}struct node*p;已建立如下图所示得链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼ →│data│next┼→、、、→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点得数据成员data得循环语句就是()。
A、p=p->next;head—>next=p—>next;free(p);
B、free(p);p = p—〉next;head-〉next=p-〉next;
C、head->next = p-〉next; free(p);
D、 free(p);head—〉next = p—〉next;
5、若有定义:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式就是错误得。
A、6
B、120
C、7
D、240
32、若有定义:int a=6,b=7,k=0,t=1;语句(k=a〈b)&& (t=a==b);运行后,k、t得值分别就是()。
A、0 0
B、11
C、01
D、10
33、以下在任何情况下计算平方数时都不会引起二义性得宏定义就是()。

《C语言及程序设计》在线作业答案

《C语言及程序设计》在线作业答案

《C语言及程序设计》在线作业答案一、单选题(共15 道试题,共75 分。

)V1. 合法的C语言标识符是()。

A. abcB. 2abC. _a1D. /n满分:5 分2. 有两个字符数组a、b,则以下正确的输入语句是()。

A. gets(a,b);B. "scanf(""%s%s"",a,b);"C. "scanf(""%s%s"",a,b);"D. "gets(""a""),gets(""b"");"满分:5 分3. 若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。

main(){inta1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}A. a1+a2+a3=48B. a1+a2+a3=25C. a1+a2+a3=10D. 不确定值满分:5 分4. 以下为一维整型数组a的正确说明是()。

A. inta(10);B. "intn=10,a[n];"C. "intn;scanf(""%d"",n);"D. "#defineSIZE10;inta[SIZE];inta[n];"满分:5 分5. 以下能对二维数组a进行正确初始化的语句是()。

A. inta[2][]={{1,0,1},{5,2,3}};B. "inta[][3]={{1,2,3},{4,5,6}};"C. "inta[2][4]={{1,2,3},{4,5},{6}};"D. "inta[][3]={{1,0,1},{},{1,1}};"满分:5 分6. 函数rewind(fp)的作用是:使文件位置指针()。

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

一、单选(共计100分,每题2.5分)1、若已定义inta=11;执行以下语句后的输出结果是()。

printf("a=%d,a=%o,a=%x\n",a,a,a);A.a=11,a=11,a=bB.a=11,a=13,a=bC.a=11,a=13,a=cD.a=11,a=12,a=132、A.B.C.D.3、以下程序运行后,文件test.txt的内容是()。

#include<stdio.h>main(){FILE*fp; charstr[][10]={"first","second"};fp=fopen("test.txt","w");if(fp!=NULL)fprintf(fp,"%s",str[0]);fclose(fp);fp=fopen("test.txt","w");if(fp!=NULL)fprintf(fp,"%s",str[1]);fclose(fp);}A.firstB.secondC.firstsecondD.secondfirst4、若有以下定义:structnode{intdata;structnode*next;}structnode*head,*p;已建立如下图所示的链表:p↓┌──┬──┐┌──┬──┐┌──┬──┐head→│data│next┼→│data│next┼→... →│data│NULL│└──┴──┘└──┴──┘└──┴──┘能删除指针p所指向结点的程序段是()。

A.p=p->next;head->next=p->next;free(p);B.free(p);p=p->next;head->next=p->next;C.head->next=p->next;free(p);D.free(p);head->next=p->next;5、若有定义:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式是错误的。

A.a[2]B.p++C.p[2]D.a++6、下面叙述错误的是()。

A.C源程序可由一个或多个函数组成B.C.D.注释说明部分只能位于C源程序的最前面7、()为合法的常量。

A.B.C.D.8、以下程序的运行结果是()。

voidmain(){ints=0,i=0;while(i<8){i++;if(i%2==0)continue;s+=i;}printf("%d\n",s);}A.36B.7C.16D.129、以下程序段的运行结果是()。

main(){inti=4,j;j=i;pic(i+2*j-2,'*');putchar('\n');for(j-=2;j>=0;j--){pic(3-j,'');pic(i+2*j,'*');putchar('\n');}}pic(intlen,charc){intk;for(k=1;k<=len;k++)putchar(c);}A.B.C.D.10、设有以下程序段:inta=1,b=10,c=1,x;x=a&&b||++c;printf(″%d,%d\n″,x,c);执行后输出的结果是()A.0,0B.0,1C.1,0D.1,111、以下条件语句中(其中s1和s2分别表示C语言的语句),()与其他三条语句不等价。

A.if(a)s1;elses2;B.if(a==0)s2;elses1;C.if(a!=0)s1;elses2;D.if(a==0)s1;elses2;12、若已定义intarr[10];则不能正确引用arr数组元素的是()。

A.arr[0]B.arr[1]C.arr[10-1]D.arr[7+3]13、若有定义:int*p,k=4;p=&k;以下均代表地址的是()。

A.k,pB.&k,&pC.&k,pD.k,*p14、以下程序的运行结果是()。

main(){inta[3]={1,2,3};int*num[3];int**p,i;for(i=0;i<3;i++)num[i]=&a[i];p=num;printf("%d",**p);}A.1B.3C.&a[0]D.num15、以下程序中的循环执行了()次。

#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=0;i<NUM;i++)n++;printf("%d\n",n);}A.5B.6C.8D.916、若有定义:intx,a,b;语句x=(a=2,b=3,a+b);运行后,x、a、b的值依次为()。

A.235B.325C.523D.53217、以下程序运行后,a的值是()。

main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101B.100C.8D.718、下面叙述正确的是()。

A.宏展开不占用运行时间,只占用编译时间B.预处理命令也是C语句,必须以分号结束C.一个源程序只能有一个预编译处理命令行D.宏名必须用大写字母表示19、若有定义intm=4321,n=123,k=21;语句printf("%4d+%3d+%2d",m,n,k);执行后的输出结果是()。

A.4321432143211231231232121B.432112321C.4321+123+21D.432+123+02120、()语句符合C语言语法。

A.B.C.D.21、已有如下定义和输入语句,charc1,c2;intx;scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是()。

A.K9HB.K9HC.K9HD.9KH22、A.B.C.D.23、若有定义:structstudent{intnum;charsex;intage;}stu1;下列叙述不正确的是()。

A.student是结构体类型名B.structstudent是结构体类型名C.stu1是用户定义的结构体类型变量名D.num,sex,age都是结构体变量stu1的成员24、有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}当输入:247<回车>,程序的输出结果是()。

A.689B.6689C.66778D.6688725、A.B.C.D.26、下面叙述错误的是()。

A.B.C.预处理命令行必须以分号结束D.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率27、A.B.C.D.28、对二维数组的正确定义是()A.B.C.D.29、在C语言中,运算符″=″和″==″的功能分别是()A.关系运算和赋值运算B.关系运算和赋值运算C.都是关系运算D.都是赋值运算30、下面叙述错误的是()A.数组中每一个元素都属于同一个数据类型B.C语言数组名称是数组在内存中的首地址C.C语言数组长度在定义数组时可不作确定D.C语言规定可逐个引用数组元素但不能一次引用整个数组31、以下程序段运行后s的值是()。

inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1;for(i=0;i<3;i++)for(j=i+1;j<3;j++)s+=a[i][j];A.6C.7D.24032、若有定义:inta=6,b=7,k=0,t=1;语句(k=a<b)&&(t=a==b);运行后,k、t的值分别是()。

A.00B.11C.01D.1033、以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。

A.B.C.D.34、若有下面定义,能打印出字母'L'的语句是()。

structclass{charname[8];int age;};structclasss[12]={"Zheng",16,"Lin",18,"Yang",19,"Guo",20};A.printf("%c\n",s[1].name[0]);B.printf("%c\n",s[2].name[0]);C.printf("%c\n",s[1].name);D.printf("%c\n",s[2].name);35、设已定义floata=2.0,b=3.0;使a值为5.0的表达式是()。

A.a+=bB.a*=b+2.0C.a/=b+2.0D.a-=b+2.036、以下叙述中正确的是()A.C源程序中注释部分可以出现在程序中任意合适的地方B.C.C源程序编译时注释部分的错误将被发现D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名37、()是正确的数组定义。

A.intn=10,x[n];B.intx[10];C.intN=10;intx[N];D.intn;scanf("%d",&n);intx[n];38、以下程序段运行后变量k的值为()。

intm=7,n=2,k;k=(m^n)<<1;A.0B.98C.20D.1039、若定义inta=-5,b=-8,c=-12;则表达式a>=b||b<c的值为()。

A.变量i的值B.变量j的值C.040、执行下面程序段后,输出字符B的个数是()x=0;while(x<=5){printf("B");x+=2;}A.0个B.3个C.5个D.6个一、单选(共计100分,每题2.5分)1、A.0,0B.10,3C.13,7D.7,132、以下程序的运行结果是()。

相关文档
最新文档