中国大学MOOC C语言程序设计(大连理工大学)期末考试部分选择题答案

1:以下说法不正确的是()。
答:函数如果使用在定义之前,可以不必进行原型声明

2:与k=n++完全等价的表达式是(_)。
答:k=n, n=n+1

3:下列哪个不是有效的字符常量(_)。
答:“a”

4:已有定义char_s1,s2[20];下面可以为所定义的变量正确输入数据的语句是()。
答:scanf ("%c%s", &s1,s2);

5:有定义语句:char_s[30];若将字符串"I_am_student."存放在字符数组中,使用正确的语句是()。
答:gets(s);

6:判断char型变量ch是否为大写字母的正确表达式是()。
答:(ch>=‘A’)&&(ch<=‘Z’)

7:执行下面程序段后,k的值是:(_)。
int k=2;
switch(k+1){
case 3:k+=1;
case 4:k–;
break;
case 5:k*=3;
case_6:++k;}
答:2

8:下面的定义语句中,使数组str不能正确保存字符串的是()。
答:char str[5]={‘C’,‘h’,‘i’,‘n’,‘a’};

9:下面程序段的功能是()。
int x,k=0;
printf(“请输入x:”);
scanf("%d","&x);
do{x=x/10;k++;
}while(x>0);
printf("k=%d ",k);
答:当x>0时,输出x的位数

10:执行语句_for(i=1;i++<5;)_;_后变量_i_的值是(__)。
答:6

11:针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是(_)。
答:break语句只能跳出所在层循环

12:下面程序的功能是判断用10元人民币兑换角币有多少种换法(角币有1角、2角、5角三种)。请选择正确的表达式。#include_
int_main(){
int_i,j,k,m=0;
for(i=0;i<=20;i++)
for(j=0;
;j++)
for(k=0;k<=100;k++)
if(i5+j2+k==100)
{m++;printf(“i=%d,j=%d,k=%d\n”,i,j,k);
}
printf(“m=%d”,m);__return_0;}
答:j<=50

13:若有变量声明语句:int a=10; int p="&a;则p的值是(_)。
答:变量a的值

14:假定有定义语句int a[10],x, *p=a;若要把数组a中下标为3的元素值赋给x,下面不正确的语句为()。
答:x=*p+3;

15:若有定义:char d[15],*p=d;_,则以下正确的赋值语句是()。
答:p=“I loveChina!”;

16:主函数中有声明语句:int a[100], n=5;下列函数调用和函数定义语句中,实参和形参的对应正确的是(_)。
答:f(a, n);int f(int a[], int n);

17:下述程序的结果为(_)。
int f(int x)
{static int a=3;
a+=x;
return a;}
int main()
{
int k=2,m=1,n;
n=f(k); n=f(m);
printf("%d",n);
return 0;
}
答:6

18:设已定义下面的fun函数,则()是对fun函数正确调用。void_fun(int_x){…}
答:fun(5);

19:下列叙述错误的是(_)。
答:全局变量不一定在所有的函数中有效

20:设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是(_)。if(x>y) x=y;if(x>z) x=z;printf("%d,%d,%d\n",x,y,z);
答:1,2,1

21:能正确表达逻辑关系“0 答:(a>0&&a<1)&&(b>0&&b<1)

22:下面程序计算e的值,要求最后一项的绝对值小于,并统计出累加了多少项。请在空白处选择合适的语句,使程序正确。
#include
#include
int main(){
int n = 1, count = 1;
double e = 1.0, term = 1.0;
long fac = 1;
for (n=1;__;n++){
fac = fac* n;
term = 1.0 /fac;
e = e
+
term;
count++;
}
printf(“e=%f,count=%d\n”,e,count);
return 0;
}
答:fabs(term)>=1e-5

23:下面程序的功能是输出30以内素数及素数之和,请选择正确的语句(_)。
#include"stdio.h"
int main(){
int j,i,sum=0;
for(i=2;i<=30;i++){
for(j=2;j if(i%j==0)__;
if(j>=i)
{
printf("%-3d",i);
sum+=i;}
}
printf("\n%d\n",sum);
return 0;}
答:break

24:下面程序的功能是:从键盘输入10个字符,输出其中数字字符。请完善程序。
#include_
int main( ){
int i;
char c; for(i=1;i<=10;i++){c=getchar();
if(c<‘0’||c>‘9’)________;_putchar©;
}
return 0;
}
答:continue

25:设有定义:struct_person{int ID; char name[12]; }pa;请将scanf("%s",______);语句补充完整,使其能够为结构体变量pa的成员name正确读入数据。
答:pa.name

26:int x=2,y=3,z=4; 则表达式x+y"&"&(x=y)的值为_____。
答:1

27:若有定义int_a=3,b=2,c=6,d=5,n=8;则_表达式 (m=a 答:0

28:下列程序实现从已有字符串的指定位置复制为新字符串,请将程序补充完整,使程序正确。
#include
int main(){
int n;
char s1[30],s2[30];
void strcopy(char p1,charp2);
printf(“please input s1:”);
gets(s1);
printf(“please input n:”);
scanf("%d","&n);
strcopy(s1+n-1,s2);
puts(s2);
return 0;
}
void strcopy(char p1,charp2)
{
for(;; )
*p2++=*p1++; *p2=’\0’;
}
答:*p1!=’\0’(或)*p1!=0(或)*p1

29:执行下面程序段后,ch的值是(_)。
char_ch=‘a’;ch=(ch>=‘A’"&"&ch<=‘Z’)?(ch+32):ch;
答:a(或)97(或)‘a’

30:下面程序的运行结果为:________。
#includeint main( ){
char a[_]=“Program”,*ptr;
for(ptr=a;ptr putchar(*ptr);
return 0;
}
答:Porm

你可能感兴趣的:(中国大学MOOC)