武汉理工大学继续教育《C语言程序设计》在线作业
- 格式:doc
- 大小:40.50 KB
- 文档页数:11
单选题 1.(A) 包含1个字符(B) 包含2个字符 (C) 包含3个字符(D) 是非法表示C 难度:较易 分值:1.02.(A)108 (B) 18 (C) 12 (D)2A 难度:较易 分值:1.03.(A)5 18 7 16 9 12 (B)15 18 17 16 19 12 (C)15 8 17 6 19 2 (D)5 8 76 9 2A难度:较易分值:1.04.(A) -1 (B) 2 (C) 1 (D) 0D难度:较易分值:1.05.(A) 2 (B) 3 (C) 6 (D) 7D难度:较易分值:1.06.(A) S是一个结构体类型名(B) p是一个结构体类型名(C) p是指向结构体类型S的指针类型名(D) no是结构体类型S的成员B难度:较易分值:1.0 7.(A)(B)(C)(D)B难度:较易分值:1.0 8.(A)(B)(C)(D)B难度:较易分值:1.09.(A)(B)(C)(D)D难度:较易分值:1.010.(A) 0 (B) 3 (C) 4 (D) 无限C难度:较易分值:1.0 11.(A)(B)(C)(D)C难度:较易分值:2.0 12.(A)(B)(C)(D)B难度:较易分值:2.0 13. 对二维数组的正确定义是()(A)(B)(C)(D)C难度:较易分值:2.0 14.(A)(B)(C)(D)C难度:较易分值:2.015.(A) 11 (B) 10 (C) 9 (D) 8B难度:较易分值:2.016. 以下叙述正确的是()(A) 宏名必须用大写的英文字母表示(B) 宏定义不仅是符号替换,也可以赋值(C) 宏替换是在程序编译时完成的,不占用程序运行时间(D) 引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致B难度:较易分值:2.017. 以下属于C语言保留字的是()(A) fopen (B) include (C) get (D) unsignedD难度:较易分值:2.0 18. 在循环语句的循环体中,break语句的作用是()。
《C语言程序设计》在线作业一满分标准答案《C语言程序设计》在线作业一1:下列关于指针定义的描述中错误的是()。
A:指针是一种变量,用于存放变量的地址。
B:指针变量的类型与它所指向的变量类型一致。
C:指针变量的命名规则与标识符相同。
D:定义指针时,标识符前的‚*‛号表示指针所指向的内容。
正确答案:D2:合法的字符型常数是()。
A:A'B:"A"C:65D:A正确答案:A3:设x,y,z,k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为()。
A:4B:16C:32D:52正确答案:C4:正确的用户标识符是()。
A:voidB:c5_b8C:forD:3a正确答案:B5:c语言中int型数-8在内存中的存储形式为()。
A:1111111111111000B:1000000000001000C:0000000000001000D:1111111111110111正确答案:A6:设int a [9],*p=a;则不能表示a [1]地址的表达式为()。
A:p+1B:a+1C:a++D:++p正确答案:C7:设整型变量n的值为2,执行语句‚n+=n-=n*n;‛后,n的值是()。
A:0B:4C:-4D:2正确答案:C8:对于struct ex{int x;float y;char z;}example;则下面的叙述中不正确的是()。
A:struct是结构体类型的关键字B:example是结构体类型名C:x,y,z都是结构体成员名D:struct ex是结构体类型正确答案:B9:设int x=3,y=4,z=5;则值为0的表达式是()。
A:x>y++B:x<=++yC:x!=y+z>y-zD:y%z>=y-z正确答案:A10:一个C语言程序是由()构成。
A:语句B:行号C:数据D:函数正确答案:D11:定义结构体的关键字是()。
C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
#include <stdio.h>int 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。
#include <stdio.h>void 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中。
1.注释可以出现在C语言程序中的任何位置
2.C语言本身没有输入输出语句
3.一个C源程序可由一个或多个函数组成
4.一个C源程序必须包含一个main函数
5.C程序的基本组成单位是函数
6.花括号"{"和"}"可以作为函数体的定界符
7.C语言以接近英国国家的自然语言和数学语言为语言的表达形式
8. 一个算法应包含有限个步骤
9. 在计算机上实现的算法是用来处理数据对象的
10. 算法的目的是为了求解
11.一个C语言程序必定从主函数开始执行。
12. 函数体由符号 { 开始,用符号 } 结束。
13. C语言源程序文件的后缀是 C ,经过编译后,生成文件的后缀是 OBJ 经过连接生成文件的后缀是EXE 。
14.在C程序中,逗号运算符的优先级最低。
15. 在C程序中,APH和aph是两个不同的变量。
16. 若a和b类型相同,在执行赋值表达式a=b后b中的值将放入a中,而b中的值不变。
17. 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语⾔试题⼀、选择题1.Turbo C2.0中,若定义float a,则变量a在内存中分配的字节数是(B )。
A. 2B. 4C. 8D.162.不合法的字符常量是( B )。
A.‘\t’B.“A”C. ‘a’D. ‘\x32’3.Turbo C 2.0中,unsigned型数据的取值范围是( C )A.-215∽(215-1)B.-231∽(231-1)C.0∽(216-1)D.0∽(232-1)4.若int k=7,x=12;则能使值为3的表达式是(D)。
A. x%=(k%=5)B. x%=(k-k%5)C. x%=k-k%5D. (x%=k)-(k%=5)5.若有语句scanf(“%d,%d,%d”,&a,&b,&c);则在执⾏时输⼊正确的形式是(B )。
A.1↙2↙3↙B.1,2,3↙C.1 2 3↙D.1,2 3↙6.执⾏下列程序段时输出结果是(B)。
unsigned int a=65535;printf(“%d”,a);A.65535 B.-1 C.-32767 D.17.若有a=12,表达式a*=2+5的值是(D )。
A.7 B.17 C.29 D.848.若x≥0时,y=1,x<0时,y=-1,下⾯错误的程序段是( D )。
A.if (x>=0) y=1; B.y=-1;if (x<0) y= -1; if (x>=0) y= 1;C.if (x>=0) y=1; D.if (x>=0) y=1;else y= -1; y= -1;9.有int a=0xfffd;若以% d格式输出,则正确答案是( C )。
A.-1 B. -2 C. -3 D. -410. 要执⾏for(表1;表2;表3)循环,要求必须是( D )。
A. 表1的值为0B. 表1的值为⾮0C. 表2的值为0D. 表2的值为⾮0 11.下⾯不是逻辑运算符的是( A )。
《C语言程序设计》实验报告
实验课程名称C语言程序设计
开课学院计算机科学与技术学院指导教师姓名
学生姓名X X
学生专业班级信息管理与信息系统1101班2012—2013学年第1学期
实验一顺序结构的程序设计
题目一:
程序代码:
题目二:
程序代码:
实验二:选择结构的程序设计题目一:
程序代码:
运行结果:
题目二
程序代码:
运行结果:
实验三循环结构的程序设计题目一
程序代码:
运行结果:
题目二:程序代码:
运行结果:
实验四数据和指针应用的程序设计题目一
程序代码:
运行结果:
运行结果:
程序代码:
运行结果:
实验五函数应用的程序设计程序代码:
运行结果:
程序代码:
运行结果:。
武汉理工大学《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、下列运算符中优先级最高的是。
一、单选(共计100分,每题2.5分)1、若已定义int a=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; char str[][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. first secondD. second first4、若有以下定义:struct node { int data; struct node *next; } struct node *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、若有定义:int a[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、以下程序的运行结果是()。
void main() {int s = 0, i = 0; while(i< 8) { i++; if(i%2==0) continue; s+=i; } printf("%d\n",s); }A. 36B. 7C. 16D. 129、以下程序段的运行结果是()。
main() { int i=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(int len,char c) { int k; for(k=1;k<=len;k++) putchar(c);}A.B.C.D.10、设有以下程序段:int a=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; else s2;B. if(a == 0) s2; else s1;C. if(a != 0) s1; else s2;D. if(a == 0) s1; else s2;12、若已定义int arr[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() { int a[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、以下程序中的循环执行了()次。
#define N 2 #define M N+1 #define NUM (M+1)*M/2 main() { int i,n=0; for(i=0;i<NUM;i++) n++; printf("%d\n",n); }A. 5B. 6C. 8D. 916、若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为()。
A. 2 3 5B. 3 2 5C. 5 2 3D. 5 3 217、以下程序运行后,a的值是()。
main() { int a,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、若有定义int m=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、已有如下定义和输入语句,char c1,c2;int x; scanf("%c%d%c",&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是()。
A. K9HB. K 9 HC. K9 HD. 9KH22、A.B.C.D.23、若有定义:struct student{int num; char sex; int age;}stu1;下列叙述不正确的是()。
A. student是结构体类型名B. struct student是结构体类型名C. stu1是用户定义的结构体类型变量名D. num,sex,age都是结构体变量stu1的成员24、有以下程序:main() { int 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); 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的值是()。
int a[3][3]={1,2,3,4,5,1,2,3,4}; int i,j,s=1; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j];A. 6C. 7D. 24032、若有定义:int a=6,b=7,k=0,t=1; 语句(k=a<b) && (t=a==b); 运行后,k、t的值分别是()。
A. 0 0B. 1 1C. 0 1D. 1 033、以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。
A.B.C.D.34、若有下面定义,能打印出字母'L'的语句是()。
struct class { char name[8]; int age; }; struct class s[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、设已定义float a=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、()是正确的数组定义。