c语言中YES在储存中多少字节,程序设计I-中国大学mooc-题库零氪

<

2、编写一个计算梯形面积的程序。要求梯形的上底、下底和高在定义变量时直接赋值。

3、编写一个计算一个学生三门课平均成绩的程序,要求学生成绩从键盘输入。

4、编写一个计算和估计地球重量的程序。地球的半径为6356.91千米,平均密度为每立方米5.52吨。要求地球半径从键盘输入,地球密度直接赋值。 地球体积的计算公式为:v=4πr3/3。

第2讲 数据类型、运算符和表达式

第2讲单元测验

1、下列不是C语言基本数据类型的是 ( )。

A、字符型

B、整型

C、浮点型

D、结构体

2、若有x=1,y=2,z=3,则表达式(x     A、1

B、2

C、3

D、0

3、已知x,y为整型,z为实型,ch为字符型,下列表达式合法的是( )。

A、z=(y+x)++

B、x+y=z

C、y=ch+x

D、y=z%x

4、设整型变量a为5,使b不为2的表达式是( )。

A、b = a/2

B、b = 6-(--a)

C、b=a%2

D、b=a>3?2:1

5、下列语句不具有赋值功能的是( )

A、a*=b

B、x=1

C、a+b

D、a++

6、在C语言中,要求参加运算的数必须是整数的运算符是( )。

A、/

B、*

C、%

D、=

7、执行 x=(6*7%8+9)/5; 后,x的值为( )

A、1

B、2

C、3

D、4

8、以下能正确定义整型变量a、b、c并为其赋初值5的语句是( )

A、int a=b=c=5;

B、int a,b, c=5;

C、int a=5,b=5,c=5;

D、a=b=c=5;

9、在C语言中,所有算术运算符的优先级都相同。

10、'b'和"b"是不同的两种常量。

11、一般情况下,目数越多,优先级越高。

12、表达式 a*b>0 可以表示“a和b同时为正或同时为负”

13、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是( )。

14、表达式10!=9 的值是( )。

15、若已定义int x=1,y=1; 则表达式x--&&y--的值是( )

16、字符串常量"123"在内存中的字节数是( )。

17、已有定义int x=3 ; 则表达式x=x+1.78的值是( )

18、当a=3,b=2,c=1时,表达式f=a>b>c的值是( )

实验2 顺序结构

1、输入直角三角形的两条直角边长,调用平方根库函数sqrt求斜边的长度。

2、输入直角坐标系中点P的坐标(x,y),若P点落在图中的阴影区域内,输出阴影部分面积,否则输出数据0。

25566.html

3、任意输入3个数据,输出它们的平均值和最小的一个数。

4、将"fly"译成密码"iob"。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b, z变成c。

第3讲 选择结构

第3讲 单元测验

1、若给定条件表达式(M)?(a++):(a--),则其中表达式M( )。

A、和(M==0)等价

B、和(M==1)等价

C、和(M!=0)等价

D、和(M!=1)等价

2、C语言中用于结构化程序设计的3种基本结构是( )

A、顺序结构、选择结构、循环结构

B、if,switch,break

C、for,while,do-while

D、if,for,continue

3、假设有定义 int x=1,y=0,a=0,b=0; 则执行以下程序段后,a、b的值为( )。 switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } //注意后面没有break case 2: a++;b++;break; case 3: a++;b++; }

A、a=l,b=0

B、a=2,b=1

C、a=1,b=l

D、a=2,b=2

4、假设有定义 int i=0,j=0,a=6;则执行以下语句后,各变量的值依次为( ) if((++i>0)||(++j>0))a++;

A、i=0,j=0,a=6

B、i=l;j=1;a=7

C、i=1,j=0,a=7

D、i=0;j=1,a=7

5、关于switch语句描述正确的是( )。

A、switch语句中default子句可能没有,也可能有一个

B、switch语句的每个语句序列中必须有break语句

C、switch语句中的case后面可以是一个关系表达式

D、switch语句中switch后面的表达式可以是实型

6、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z;

A、x=10,y=20,z=30

B、x=20,y=30,z=30

C、x=20,y=30,z=10

D、x=20,y=30,z=20

7、以下if语句语法正确的是( )。

A、if(x>0) cout<     B、if(x>0) { x=x+y; cout<     C、if(x>0) { x=x+y; cout<     D、if(x>0) { x=x+y; cout<

8、当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是( )。 if(a A、1

B、2

C、3

D、4

9、一个switch语句必须包含一个default语句。( )

10、在C程序中,if语句中不能嵌套switch语句。 ( )

11、空语句是合法的C语句。

12、C语言中规定,if语句的嵌套结构中,else总是无条件地和最近的if配对。

13、C语言中规定,if表达式后面的语句可以是复合语句。

14、假设有定义int a=2,b=-1,c=2; 则执行以下程序段后c的值为( )。 if(a

15、假设有定义int m=5; 则执行以下程序段的输出结果是( ) if(m++>5) cout<

16、假设有定义int year,flag; ,其中year代表年份,flag代表是否为闰年的判断,取1代表闰年,取0代表非闰年,则以下关于闰年判断程序段中的空白处应为( ) if(year%400==0) flag=1; else if(____________________) flag=1; else flag=0;

实验3 选择控制结构

1、以下程序的功能是求两个非0整数相除的商和余数。程序有几处错误,试找出它们加以修改,并上机验证修改结果。 #include "iostream" using namespace std; int main() {int x,y,r1,r2; cin>>x>>y; if(x=0||y=0) cout<

2、

25566.html

3、某商场购物时,若所选商品价值x在下述范围内,则实付金额y按如下折扣支付: 用switch语句实现已知x求y

25566.html

4、输入x,y,z三个数,按从小到大的次序显示。显示形式:××

5、编一模拟袖珍计算器的完整程序,运行结果见图。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。

25566.html 提示:根据存放操作符的字符变量,利用switch语句实现。

6、

25566.html

前三章综合

1、计算两间的坐标 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。 Input 输入数据由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。 Output 输出一行,结果保留两位小数。 Sample Input 1 0 0 0 1 Sample Output 1 1.00 Sample Input 2 0 1 1 0 Sample Output 2 1.41

2、成绩转换 输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下: 90~100为A; 80~89为B; 70~79为C; 60~69为D; 0~59为E; Input 输入数据占一行,由一个整数组成。 Output 输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。 Sample Input 1 56 Sample Output 1 E Sample Input 2 67 Sample Output 2 D Sample Input 3 100 Sample Output 3 A Sample Input 4 123 Sample Output 4 Score is error!

3、确定闰年 输入一个年份判断它是否是闰年 是的话输出yes 不是输出no

第4讲 循环结构

4.4 辅助控制语句随堂测验

1、while语句和do-while语句等价吗

第4讲 单元测验

1、若k为整型,以下while循环体中的语句执行( )。 k=2; while(k=0) { cout<     A、无限次

B、0次

C、1次

D、2次

2、假设有定义 int i,j,k=0,m=0;则执行以下程序段后k和m的值分别为( ) for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j;

A、k=0,m=3

B、k=0,m=5

C、k=l,m=3

D、k=l,m=5

3、下列关于break语句描述错误的是( )。

A、break语句可用于循环体内,它将退出该重循环

B、break语句可用于switch语句中,它将退出switch语句

C、break语句可用于if体内,它将退出if语句

D、break语句只能用于循环语句和switch语句中

4、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){...}

A、20

B、25

C、24

D、30

5、语句while(!e);中的条件 !e 等价于( )。

A、e==0

B、e!=1

C、e!=0

D、~e

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

A、是死循环

B、循环执行二次

C、循环执行一次

D、有语法错误

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

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

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

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

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

8、continue语句的作用是结束整个循环的执行

9、假设有定义 int i=100; 则以下循环是死循环。 while (1) { i=i%100+1; if (i>100) break; }

10、do-while的循环体至少无条件执行一次

11、do-while 的循环体不能是复合语句

12、只能在循环体内和switch语句体内使用break语句

13、假设有定义 int s=0,i=1; 则退出以下循环后i的值为( )。 while (s<=10) { s=s+i*i; i++; }

14、执行以下程序段后,i的值为( ) int i=1,s=3; do { s+=i++; if (s%7==0) continue; else ++i; } while (s<15);

15、假设有定义int n=0; 则退出以下循环后n的值为( )。 while(n++<3);

实验4 循环控制结构

1、以下程序求20以内的奇数和。程序有几处错误,试找出它们加以修改,并上机验证修改结果。 #include "iostream" using namespace std; int main() { int n,sum; for(n=1; ;n+=2); sum=sum+n; if(n==20) break; cout<

2、编写程序将一个十进制整数按倒序形式输出。即若输入156,则输出651。 提示:实现的方法是将一个十进制数不断除以十取余,并马上输出该余数。

3、编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。

4、

25566.html

5、

25566.html 要求计算到n=1000时为止。

6、

25566.html

7、

25566.html

第8讲 函数

第8讲单元测验

1、以下说法中正确的是________。

A、C/C++程序总是从源文件中第一个定义的函数开始执行

B、在C/C++程序中,函数的定义必须写在调用该函数的语句之前

C、C/C++程序总是从main()函数开始执行

D、C/C++程序中的main()函数必须放在程序的开始部分

2、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递 方式是________。

A、地址传递

B、单向值传递

C、由实参传给形参,再由形参传回实参

D、传递方式由用户指定

3、若有以下调用语句,则正确的fun函数首部是_______________。 main() { ∶ ∶ int a;float x; ∶ ∶ fun(x,a); ∶ ∶ }

A、int fun(int m,float x)

B、void fun(float a,int x)

C、void fun(int m,float x[])

D、int fun(int x,float a)

4、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是__________。

A、3

B、4

C、5

D、6

5、若程序中定义函数 float myadd(float a, float b) { return a+b;}   并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是____________。

A、float myadd( float a,b);

B、float myadd(float b, float a);

C、float myadd(float, float);

D、float myadd(float a, float b);

6、下面函数的功能是______________________。 sss(s,t) char s[ ],t[ ]; { int i=0; while( t[i]) { s[i]=t[i]; i++ ; } s[i]= '\0'; }

A、求字符串的长度

B、比较两个字符串的大小

C、将字符串s复制到字符串t中

D、将字符串t复制到字符串s中

7、下面程序的输出结果是________________。 int func(int a,int b) { return(a+b); } main() { int x=2,y=5,z=9,r; r=func((x-y),z); cout< <     A、10

B、12

C、6

D、16

8、对以下程序,正确的说法是________。 #include "iostream" using namespace std; int sub (char x,char y) { int z; z=x%y; return z; } int main( ) { int g=5,h=3,k; k=sub(g,h); cout< <     A、实参与其对应的形参类型不一致,程序不能运行

B、被调函数缺少数据类型说明,程序不能运行

C、主函数中缺少对被调函数的说明语句,程序不能运行

D、程序中没有错误,可以正常运行

9、C/C++程序中的函数,既可以嵌套定义,也可以嵌套调用。

10、函数调用时,实参将数据传递给形参后,立即释放原先占用的存储单元

11、定义一个void型函数意味着调用该函数时,函数没有返回值

12、数组作为函数的参数时,系统为形参数组和实参数组分配不同的存储单元。

13、C/C++程序中,若函数的定义写在调用函数的语句之后,需要在调用前对函数进行说明。

14、.以下函数的功能是:求x的y次方,程序中划线处应填入________ #include "iostream" using namespace std; void fun(double x,int y,double *z) {int i; for(i=1,*z=x;i

15、以下程序可计算10名学生1门课成绩的平均分。划线处应填入______。 #include "iostream" using namespace std; void average(float array[],int n) { int i=1; while(i >score[i]; ____________; cout<

16、以下函数my_cmp( )的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s

单元作业8

1、编一判断m是否为素数的函数,并在主函数中利用它输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数,如3和5,11和13。程序运行结果见下图。 函数形式为: bool isprime(int m)

25566.html

2、编一函数,功能为构造正整数x的逆序数。再编一主函数,输出10个大于10000的最小的回文数。回文数是指顺读和倒读都相同的数,如5、151、3553等。 函数形式为:int reverse (int x) 调用算法库函数0分

3、编写函数,判断子串sub是不是字符串s的子串,若是,返回s中第一次出现sub的位置,否则,返回-1。函数形式为: int subindex(char *s, char *sub); 或者 int subindex(string s, string sub); 不要使用string类中的查找函数 互评时为了避免部分同学看不懂,ACM的同学请不要使用KMP算法

4、编一函数,功能为判断一字符串是否为回文,如果是回文则返回1,否则返回0。回文是指顺读和倒读都一样的字符串,如“deed”和“level”是回文。在主函数中对输入的字符串加以调用。 函数形式为:int huiwen(char s[]) 或者int huiwen(string s) 调用算法库函数0分

5、函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种方法实现: (1)函数形式为:int fun1(int s[],int n,int *x) 要求优秀人数通过return返回,不及格人数通过指针参数返回结果。 (2)函数形式为:void fun2(int s[],int n,int &x,int &y) 要求优秀与不及格的人数通过引用参数返回结果。 分别编二个函数,学生人数从键盘输入。 排序请在函数内注释使用什么排序算法,比如说冒泡排序,选择排序等等 不能使用算法库排序函数

6、编一函数,功能为统计字符串中各个字母(不区分大、小写)出现的频率,同时找出频率出现最高的字母及次数。函数形式为: void freq(char s[],int p[],char &chmax,int &_max) 或者void freq(string s,int p[],char &chmax,int &_max) s为字符串或字符数组 p数组为各个字母出现的次数 chmax为出现频率最高的字母 _max为出现评率最高的字母的出现次数 程序运行结果如下:

25566.html

第5讲 一维数组

第5讲 单元测验

1、执行下面的程序段后,变量k中的值为( )。 int k=3, s[2]; s[0]=k; k=s[1]*10;

A、不定值

B、33

C、30

D、1

2、对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[0]至a[4]

C、将5个初值依次赋给a[6]至a[10]

D、因为数组长度与初值的个数不相同,所以此语句不正确

3、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )

A、3

B、12

C、10

D、40

4、以下定义语句中,错误的是( )。

A、int a[]={1,2};

B、int a[5]={1,2};

C、int n=2, a[n]={1,2};

D、int a[2]={1,2};

5、以下对一维数组a进行正确初始化的是( )。

A、int a[5]=(0,0,0,0,0);

B、int a[5]=1,2,3,4,5;

C、int a[5]={0};

D、int a[5]={1,2,3,4,5,6};

6、假设有定义int i,x[9]={9,8,7,6,5,4,3,2,1};则执行以下程序段后输出( )。 for(i=0;i<4;i+=2) cout<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值