c语言中担任翻译工作程序称为,C语言程序设计-中国大学mooc-题库零氪

单元1 C语言程序与函数

单元1 自测试卷

1、在VC6.0环境下,C源程序的扩展名是( )。

A、exe

B、cpp

C、obj

D、txt

2、一个C语言程序的执行是从( )。

A、第一个语句开始,直到最后一个语句结束

B、第一个函数开始,直到最后一个函数结束

C、main函数的第一条语句开始,直到main函数最后一条语句结束

D、main函数开始,直到最后一个函数结束

3、以下叙述中正确的是( )。

A、C语言的函数必须有一个返回值

B、C语言的函数至多有一个返回值

C、C语言的函数可以有多个返回值

D、C语言的函数不能有返回值

4、C语言中,函数返回值的类型是由( )决定的。

A、调用函数时临时

B、return语句的表达式类型

C、调用该函数的主调函数类型

D、定义函数时,所指定的函数类型

5、以下叙述中错误的是( )。

A、用户所定义的标识符允许使用关键字

B、用户所定义的标识符应尽量做到“见名知意”

C、用户所定义的标识符必须以字母或下划线开头

D、用户定义的标识符中,区分大、小写字母

6、有以下定义:int fun(int n,double x) {……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

A、fun(x,10.5);

B、fun(int x,double n );

C、m=fun(1.5 , n);

D、int fun(n,x);

7、有以下定义:void fun(int n,double x) {……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

A、fun(int x,double n );

B、m=fun(x,12.5);

C、void fun(n,x);

D、fun(x,n);

8、以下叙述中错误的是( )。

A、C语句必须以分号结束

B、复合语句在语法上被看作一条语句

C、空语句的出现会影响程序运行

D、注释可出现在程序的任何位置

9、下列4组选项中,均不是C语言关键字的是( )。

A、include,IF ,Type

B、gect,char ,printf

C、define,scanf ,case

D、while,go ,pow

10、下面4个选项中,均是不合法的用户标识符的是( )。

A、A,P_0,Do

B、float,lao,_A

C、_123,temp,INT

D、a-b,3_p3,char

11、C语言程序的基本单位是( )。

A、语句

B、程序

C、函数

D、字符

12、函数的实参不能是( )。

A、变量

B、常量

C、语句

D、函数调用表达式

13、以下说法中正确的是( )。

A、实参可以是常量、变量或表达式

B、形参可以是常量、变量或表达式

C、实参可以为任意类型

D、形参应与其对应的实参类型一致

14、可用作用户标识符的一组标识符是( )。

A、int,define,WORD

B、a3_b3,_xyz,IF

C、For,-abc,Case

D、2a,DO,sizeof

15、以下符号中不能用作用户标识符的是( )。

A、if

B、Switch

C、gets

D、Case

16、用C语言编写的程序,不能被计算机直接识别、理解,需要一种担任翻译工作的程序,称为 。

17、C语言源程序文件经编译产生的目标代码的扩展名是 。

18、在Viscal C++系统中,目标代码仍不可以直接执行,需要连接程序把目标代码与标准模块进行连接,得到具有绝对地址的 文件。

19、在一个函数调用另一个函数之前,必须对被调函数进行函数 。因此为了统一与方便,一般把函数的声明放在所有函数的的前面。

20、在执行main函数体中的可执行语句时,其他函数可能被调用执行,其中每一个函数被调用结束后都要返回到函数 ,最后一定仍回到main函数。

课堂实践1-1

1、仿照【例1-1】编写一个求两个整数乘积的C语言程序,体验上机步骤和程序开发的全过程。

课堂实践1-2

1、仿照【例1-2】编写一个求矩形面积的C语言程序,求矩形面积函数命名为Area,边长由用户通过键盘输入,体会函数定义、调用、声明和注释的使用。要求:程序代码的每行仿照【例1-2】给出注释。

单元2 数据描述

单元2 自测试卷

1、下面4个选项中,均是不正确的八进制数或十六进制数的是( )。

A、016,0x8f,018

B、068,7aa,-123

C、010,-0x11,0x16

D、0adc,017,0xa

2、下面4个选项中,均是合法转义字符的是( )。

A、'\'', '\\', '\t'

B、"\", '\017', '\='

C、'\018', '\f', 'xab'

D、'\0', '\101', 'xlf'

3、下面4个选项中,不能作为合法常量的是( )。

A、1.234e04

B、1.234e0.4

C、1.234e+4

D、1.234e0

4、下列不正确的转义字符是( )。

A、'\\'

B、'\''

C、'0'

D、'\0'

5、下列正确的字符是( )。

A、'\182'

B、'\xax'

C、"a"

D、'x'

6、字符串"\a\\china\\girl\123\n"的长度是( )。

A、14

B、15

C、16

D、17

7、下面4个选项中,存储长度为2的是( )。

A、"\ab"

B、"\xb"

C、"ab"

D、'xb'

8、在C 语言中,char型数据在内存中的存储形式是( )。

A、ASCII字符

B、反码

C、原码

D、补码

9、如果不显式地为自动变量初始化,则它的初值为( )。

A、0

B、1

C、不确定

D、-1

10、以下的变量定义中,合法的是( )。

A、float 3_four =3.4

B、int _abc_=2+3;

C、double a=1+4e2.0;

D、short do =15;

11、已知字母A的ASCII码值为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( )。

A、D

B、67

C、C

D、66

12、字符串"ab\783"的存储长度是( )。

A、7

B、6

C、5

D、4

13、变量定以后,系统将为变量分配存储空间,int类型的自动变量( )。

A、将在编译时分配4个字节的存储空间

B、将在编译时分配8个字节的存储空间

C、将在程序执行时分配4个字节的存储空间

D、将在程序执行时分配8个字节的存储空间

14、变量定以后,系统将为变量分配存储空间,double类型的静态变量( )。

A、将在编译时分配4个字节的存储空间

B、将在编译时分配8个字节的存储空间

C、将在程序执行时分配4个字节的存储空间

D、将在程序执行时分配8个字节的存储空间

15、将整数378转换为二进制数、八进制数和十六进制数分别是( )。

A、10111101,275,a71

B、101111010,572,17a

C、111101010,752,71a

D、101010111,527,1a7

16、要使以下程序输出3。请在空中填入正确内容。 int main() { int ______ ; a=a+1; printf("%d\n",a); return 0 ; }

17、要使以下程序正确运行并输出10,请在空中填入正确内容。 inr main() { char x; x='K' - ; printf("%d\n",x); return 0; }

18、以下程序段输出的结果是( )。 int a=97; printf("%c\n",a);

19、以下程序段输出的结果是( )。 unsigned char a=255,b; b=a+1; printf("%d\n",b);

20、阅读下列程序段,写出运行结果( )。 int f(int a); int main() { int a=2; printf("%d",f(a)); printf("%d",f(a)); printf("%d\n",f(a)); return 0; } int f(int a) { int b=0; static int c=3; b=b+1; c=c+1; return(a+b+c); }

课堂实践2-1

1、仿照【例2-1】,编写求圆周长的C语言程序,求圆周长的函数命名为Perimeter,圆的半径由用户通过键盘输入。

课堂实践2-2

1、下列程序中a的值是16进制整数,b的值是一个字符。读下列程序,找出程序中存在的错误,并改正,但不得增加和减少语句。 int main() { Int a,b; a=01b; b='\37' c=a+b; print("c=%d\n",c); return 0; }

课堂实践2-3

1、仿照【例2-2】,编写将用户输入的小写字母转换为大写字母的C语言程序,小写字母转换为大写字母的函数命名为ToUpper。

单元3 数据操作

单元3 自测试卷

1、设int x=8, y;执行y=x++;后,变量x、y的值分别是

A、8,8

B、8,9

C、9,8

D、9,9

2、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是

A、x%(-3)

B、w+=-2

C、k=(a=2,b=3,a+b)

D、a+=a- =(b=4)*(a=3)

3、假设变量均已正确定义并赋值,以下符合C语言语法的赋值表达式是

A、d=9+c+f=d+9

B、d=(9+e,f=d+9)

C、d=9+e,e++,d+9

D、d=9+e++=d+7

4、若变量已正确定义并赋值,下面不符合C语言语法的表达式是

A、a=a+7

B、a=7+b+c,a++

C、(int) 12.3%4

D、a=a+7=a+b

5、以下选项中,与k=n++完全等价的表达式是

A、k=n,n=n+1

B、n=n+1,k=n

C、k=++n

D、k+=n+1

6、若有定义:int a=8,b=5 ,c;执行语句c=a/b+0.4;后,c的值为

A、1.6

B、2

C、1.4

D、1

7、下列关于单目运算符++,叙述正确的是

A、它们的运算对象可以是任何变量和常量

B、它们的运算对象可以是char型和int型变量,但不能是float型变量

C、它们的运算对象可以是int型变量,但不能是double型和float型变量

D、它们的运算对象可以是char型,int型,float型和double型变量

8、对于整数n=378,表达式n%10和n/10的值分别是

A、3,8

B、8,3

C、37,8

D、8,37

9、若有定义double x=3.8;表达式(int)x的值是

A、3

B、3.8

C、4

D、4.0

10、表达式sizeof(2)和sizeof(double)的值分别是

A、2,4

B、4,4

C、4,8

D、有语法错误

11、对于int类型和double类型的变量,在使用scanf()函数和printf()函数进行输入输出时,格式说明应该分别使用

A、%d,%f

B、%d,%lf

C、%f,%d

D、%lf,%d

12、以下程序段的执行结果是 int k=11; printf("%d,%o,%x",k,k,k);

A、11,12,11

B、11,13,13

C、11,013,0xb

D、11,13,b

13、scanf("%c%c%c",&a,&b,&c)与scanf("%c %c %c",&a,&b,&c)的输入

A、前者以空格作为间隔

B、都以空格作为间隔

C、前者不以空格作为间隔

D、自动以空格作为间隔

14、设有如下定义:int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y));的执行结果是

A、0

B、1

C、3

D、4

15、以下程序段输出的结果是 int x=10,y=10; printf("%d %d\n" ,x--, --y);

A、9 9

B、9 10

C、10 9

D、10 10

16、表达式k=10,k++,k++,k+3执行后,变量k的值是

17、若a为double类型变量,且a=4.6785,则表达式(int) (a*100+0.5)/100.0的值为

18、以下程序段的执行结果是 double a=513.789251; printf("%8.6lf",a);

19、有以下程序段,运行时输入:37,执行后输出结果是 char ch1,ch2; int n1,n2; ch1=getchar(); ch2=getchar(); n1=ch1-'1'; n2=n1*10+(ch2-'2'); printf("%d\n",n2);

20、以下程序段在执行时,输入18,38,执行结果是 int a,b; scanf("%d,%o",&a,&b); b+=a; printf("%d",b);

课堂实践3-1

1、设n是一个三位整数,用C语言的表达式分别表示n的个位、十位和百位数码。

课堂实践3-3

1、对用户输入的一个三位整数n,编写函数int sum(int n)求n的各位数码的和,三位整数的输入和求得结果的输出都在主函数中实现。

单元4 选择结构

课堂实践4-2

1、用C语言的表达式表达以下实际问题: 1.n为奇数 2.ch是英文字母

课堂实践4-4

1、输入1-7之间的任意数字,程序按照用户的输入,输出对应的星期几的英文,比如输入3,程序输出Wednesday。若输入1-7以外的数字,则提示输入错误!

课堂实践4-3

1、编写函数,int FebruaryDay(int year),该函数的功能是:根据用户输入的年份year,计算该年度二月份的天数,并返回。提示:闰年二月有29天,非闰年二月有28天。闰年的条件是:year%4==0&&year%100!=0||year%400==0。 要求:年份的输入和求得结果的输出在主函数中实现。

单元5 循环结构

课堂实践5-3

1、水仙花数是一个三位数,它的各位数码的3次幂之和等于它本身。例如:

39113.html是一个水仙花数。编写程序求出所以的水仙花数,并统计水仙花数的个数。

课堂实践5-2

1、计算斐波那契(Fibonacci)数列1,1,2,3,5,8,13,21,... 的第n项,项数n由用户通过键盘输入。

课堂实践5-4

1、编写一个简易计算器程序。计算器的功能包括:求两个整数的加法、减法和乘法。用户通过选择菜单项完成对应的功能,只有当用户选择退出时才结束程序的执行,否则一直可供用户选择操作。要求:程序只有一个入口和一个出口(主函数既是入口也是出口)。执行过程如下图所示:

39113.html 评分标准:请将学生代码复制粘贴到vc6.0环境中,对编译连接通过的,连续使用 测试用例1:1回车,2 3回车; 测试用例2:2回车,2 3回车; 测试用例3:3回车,2 3回车; 测试用例4:0回车。 1.如果连续使用的4个测试用例结果都正确得100分; 2.如果测试用例有不正确的,需对照参考代码检查程序存在的问题,每个问题扣5分,最多得90分; 3.对编译连接不能通过的,每个错误和警告扣5分,至多扣50分,至少得50分。

单元6 数组

课堂实践6-1

1、编写程序求含有N个元素一维数组的最大值、最小值及它们的下标。要求:数组元素的输入、求最大值最小值及它们的下标通过函数实现,结果在主函数中输出。

课堂实践6-2

1、将冒泡排序函数中控制趟数和每趟比较次数的初值均从0改为1,修改函数并实现降序排序。

课堂实践6-4

1、由键盘任意输入N个国家的英文名称,按英语词典规律(升序)排序后输出。

课堂实践6-5

1、将用户输入的整数插入到按升序排好序的整数数组中,插入后仍然保持升序。

单元7 指针

课堂实践7-1 求一组整数的最大值和最小值

1、求一组整数的最大值和最小值。要求:编写函数void Input(int a[])实现一组整数的输入,编写函数int Maxmin(int a[],int *pmax,int *pmin)实现求一组整数的最大值和最小值。

课堂实践7-3

1、编写函数char *MaxChar(char *str),求字符串str中最大字符,并返回该字符地址。

单元8 结构体

课堂实践8-1

1、在【例8-1】的基础上,编写一个函数void Score(struct student *st,double *avg, int *sum) 求N个学生的平均成绩和不及格人数。

单元4 自测试卷

单元4 自测试卷(客观题部分)

1、判断字符型变量c1是否为数字字符的正确表达式为

A、'0'<=c1<='9'

B、('9'>=c1)&&('0'<=c1)

C、(c1<='9')||(c1>='0')

D、(c1>='9')&&(c1<='0')

2、表达式5<3&&8<=(a=10)的值是

A、0

B、1

C、非0

D、非1

3、设 int a=5,b=6,c=7,d=8,m=2,n=2;,则逻辑表达式 (m=a>b)&&(n=c>d) 运算后,n的值为

A、0

B、1

C、2

D、3

4、程序段 int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); 的输出结果是

A、1

B、0

C、非0

D、-1

5、若i为整型变量,则程序段 i=123; if (i%2==0) printf("####"); else printf("****"); 输出结果是

A、####

B、****

C、####****

D、有语法错误,无输出结果

6、程序段 int i=0,j=0,k=6; if ((++i>0)||(++j>0)) k++; printf("%d,%d,%d\n",i,j,k); 输出结果是

A、0,0,6

B、0,1,7

C、1,1,7

D、1,0,7

7、程序段 int a= -1,b=1; if ((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); 输出结果是

A、-1 1

B、0 1

C、1 0

D、0 0

8、设int a=9,b=8,c=7,x=1; 则执行语句 if(a>7) if(b>8) if(c>9) x=2; else x=3; 后x的值的是

A、0

B、2

C、1

D、3

9、当把以下四个选项的表达式用作if语句的条件判断表达式时,有一个选项与其它三个选项含义不同,这个选项是

A、k%2

B、k%2==1

C、(k%2)!=0

D、!k%2==1

10、程序段 char m='b'; if(m++>'b') printf("%c\n",m); else printf("%c\n",m--); 执行后的输出结果是

A、a

B、b

C、c

D、d

11、以下程序段输出的结果是。 int a=1, b=3, c=5; if (c=a+b) printf("yes\n"); else printf("no\n");

12、以下程序段输出的结果是 int x=5,y=10,t=0; if(x==y) t=x;x=y;y=t; printf("%d,%d",x,y);

13、以下程序段运行后的输出结果是 int a=2,b=1,c=2; if(a) { if(b<0) c=0; } else c++; printf("%d\n",c);

14、假定w,x,y,z,m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(wy)?m:y; m=(m

15、阅读下列程序段,写出运行结果 int a=2,b=7,c=5; switch (a>0) { case 1:switch (b<0) { case 1:printf("@");break; case 2:printf("!");break; } case 0:switch (c==5) { case 0:printf("*");break; case 1:printf("#");break; case 2:printf("$");break; } default:printf("&"); }

单元4 自测试卷(主观题部分)

1、编写程序,对用户输入的三个整数求最小值。要求:求最小值函数原型为 int Min(int a,int b,int c)//返回三个整数a,b,c的最小值,由主函数调用实现;数据输入输出在主函数中实现。

2、编写程序,对用户输入的年份和月份求该月有多少天。要求:求天数函数原型为 int Count(int year,int month)//返回year年month月的天数,由主函数调用实现;数据输入输出在主函数中实现,如果用户输入月份超过1~12范围,给出“输入月份错误”信息。 提示:每年1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月闰年有29天,非闰年有28天。

单元5 自测试卷

单元5 客观题试卷

1、下面有关for循环的正确描述是( )。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

2、下列循环语句中用到的各变量均已有确定的值,有语法错误的是( )。

A、while(x=y) 5;

B、do x++; while(x==10)

C、do 2;while(x==b);

D、while(0);

3、t为int类型,进入下面的循环之前,t的值为0,则以下叙述中正确的是( )。 while( t=0 ) { ……}

A、循环控制表达式的值为0

B、循环控制表达式的值为1

C、循环控制表达式不合法

D、以上说法都不对

4、以下程序的输出结果是( )。 int main( ) { int n=6; while(n--) printf("%d ",--n); return 0; }

A、4 2 1

B、4 2 0

C、3 2 1

D、2 1 0

5、以下程序段的执行结果是( )。 int i,sum=0; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum);

A、无限循环

B、3

C、6

D、7

6、语句 for(x=0,y=10;(y>0)&&(x<4);x++,y-- ) ;执行次数( )。

A、无限次

B、不定

C、4次

D、3次

7、已知int i=1; 执行语句while (i++<4) ;后,变量i的值为( )。

A、6

B、5

C、4

D、3

8、已知int x=12,y=3;执行下述程序后,变量x的值是( )。 do { x/=y--; }while(x>y);

A、运行有错误

B、1

C、2

D、3

9、以下程序段( )。 x=-1; do { x=x*x;} while(!x);

A、是无限循环

B、循环体执行2次

C、循环体执行1次

D、有语法错误

10、下面程序段的功能是在输入的一批整数中求出最大者,输入0结束循环。请在下划线处填空。 int a,max=-2147483648; scanf("%d",&a); while( a ) { if ( ) max=a; scanf("%d",&a) ; } printf("%d\n",max);

11、等差数列的第一项a=2,公差d=3,下面程序段的功能是在前n项和中,输出能被4整除的所有的和。请在下划线处填空。 int a,d,sum; a=2;d=3;sum=0; do { sum+=a ; a+=d; if ( ) printf("%d\n",sum); } while(sum<200);

12、鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只。请在下划线处填空。 int x,y; for(x=1;x<=29;x++) { y= ; if ( 2*x+4*y==90 ) printf("%d,%d\n",x,y); }

13、下面函数的功能是根据近似公式:

39113.html,求π值。请在下划线处填空。 double pi(int n) { double s=0.0; int i; for(i=1;i<=n;i++) s=s+ ; return( sqrt(6*s) ); }

14、下面函数的功能是用辗转相除法求两个正整数m和n的最大公约数。请在下划线处填空。 int fun(int m,int n) { int r; if(m

单元5 主观题试卷

1、用户输入N(N>1)个正整数,使用一重循环(不许使用循环嵌套)求出其中的次大数(第二大的数)。

2、编写程序,输出如下图所示上三角形式的乘法九九表。

39113.html

期中考试试卷

期中考试客观题试卷

1、下面4个选项中,均是不合法的用户标识符的是( )。

A、A,P_0,Do

B、float,lao,_A

C、_123,temp,INT

D、a-b,3_p3,char

2、已知字母b的ASCII码为98,如ch为字符型变量,则执行printf("%d",ch='a'+'5'-'2'); 的结果是( )。

A、e

B、d

C、100

D、101

3、字符串"\\\298c,\n"的长度是( )。

A、4

B、5

C、6

D、7

4、以下程序段的输出结果是( )。 int a=1,b=2,m=0,n=0,k; if(k=(n=b>a)||(m=a

A、1,1

B、0,1

C、1,0

D、0,0

5、当输入-2时,程序段输出结果为( )。 int s=0,a=1,n; scanf("%d",&n); do { s+=1; a=a-2; } while(a>n); printf("%d\n",s);

A、-1

B、2

C、3

D、0

6、C语言程序的基本单位是 。

7、在VC++环境中,int类型变量定以后,系统将为该变量分配 个字节的存储空间。

8、要使以下程序段正确运行并输出5,请在下划线处填入正确内容。 char x; x='G'- ; printf("%d\n",x);

9、以下函数的功能是输出用户输入的年份year是否是闰年,比如输入年份为1980,则输出结果是“1980年是闰年。”,输入年份为2017,则输出结果是“2017年不是闰年。”。请在下划线处填入正确内容。 void leapyear(int year) { int f=0; if(year%4==0&&year%100!=0 || year%400==0) ; if(f) printf("%d年是闰年。\n",year); else printf("%d年不是闰年。\n",year); }

10、下面程序段的功能是在输入的一组整数中求出最大者,输入0结束循环。请在下划线处填入正确内容。 int a,max; scanf("%d",&a); max=a; while(a) { if(max

期中考试主观题试卷

1、输入一个英文字母,如果是大写字母,将其转换为小写字母,如果不是不转换,最后输出。要求:编写函数char zhuanhuan(char c)实现转换功能;数据的输入和输出在主函数中实现。

2、若一个口袋中放有red(比如red=3)个红色球,white(比如white=3)个白色球和black(比如black=6)个黑色球,从中任取total(比如total=8)个球,编写程序输出所有的颜色搭配方案及方案总数。要求:在主函数输出方案总数;编写函数int myball(int red,int white,int black,int total),实现统计、输出所有的颜色搭配方案,并返回方案数;输入输出格式如下图:

39113.html

3、输入一个正整数范围[a,b](0

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值