东北大学计算机科学与技术专业《高级语言程序设计基础》作业及答案1

搜题
1、若k为整型变量,则以下for循环的执行次数是( )。 for (k=2; k==0; ) printf("%d",k--);

A.无限次

B.2次

C.1次

D.0次

本题答案:
D
2、以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}

A.出错

B.6

C.3

D.2

本题答案:
B
3、若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));

A.6

B.12

C.1

本题答案:
D
4、当正常执行了文件关闭操作时,fclose函数的返回值是( )。

A.随机值

B.1

C.-1

本题答案:
C
5、在C语言中,错误的int类型的常数是( )。

A.37

B.32768

C.0xAF

本题答案:
B
6、若有定义:int x[10], *p=x;,则*(p+5)表示( )。

A.选项内容11

B.选项内容11

C.数组元素x[6]的地址

D.数组元素x[6]的值

E.数组元素x[5]的地址

F.数组元素x[5]的值

本题答案:
D
7、若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。

A.num%2==1

B.num%2

C.!(num%2==0)

D.!(num%2)

本题答案:
D
8、语句while (!y)中的表达式 !y 等价于( )。

A.y==1

B.y==0

C.y!=1

D.y!=0

本题答案:
B
9、下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}

A.有语法错误

B.**0****2**

C.**0****1****2**

D.**0**

本题答案:
B
10、以下判断正确的是( )。

A.char str[10]={"string"}; 等价于char str[10]; str={"string"};

B.char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"

C.char *s="string"; 等价于char *s; s="string";

D.char *s="string"; 等价于char *s; *s="string";

本题答案:
C
11、设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf("%4d+%3d+%2d+%1d",&a,&b,&c,&d);printf("%4d+%3d+%2d+%1d",a, b, c, d);

A.1234123412341234

B.1234123121

C.1234+1234+1234+1234

D.1234+123+12+1

本题答案:
D
12、若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c); c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);

A.a=10,b=15,c=10a=10,b=5,c=10

B.a=10,b=10,c=10a=10,b=5,c=5

C.a=10,b=10,c=10a=10,b=5,c=15

D.a=10,b=10,c=10a=10,b=5,c=10

本题答案:
C
13、以下不正确的定义语句是( )。

A.int y[5]={0,1,3,5,7,9};

B.double x[5]={2.0,4,0,6,0,8,0,10.0};

C.char c2[]={'\x10','\xa','\x8'};"

D.char c1[]={'1','2','3','4','5'};

本题答案:
A
14、若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。

A.a[1]+3

B.*(a[1]+2)

C.*(a+1)

D.a[0][0]

本题答案:
C
15、以下有关宏替换的叙述不正确的是( )。

A.宏替换只是字符替换

B.宏替换不占用运行时间

C.宏名必须用大写字母表示

D.宏名不具有类型

本题答案:
C
16、若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正确的描述是( )。

A.最多允许输出100个非负整数

B.当y<0时整个循环结束

C.y>=0时什么也不输出

D.printf函数永远也不执行

本题答案:
A
17、以下对指针变量的操作中,不正确的是( )。

A.int *p, *q; q=p=NULL;

B.int p, *q; q=&p;

C.int a=5, *p; *p=a;

D.int a=5, *p=&a, *q=&a; *p=*q;"

本题答案:
D
18、下列关于C语言的叙述错误的是( )。

A.大写字母和小写字母的意义相同

B.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

C.同一个运算符号在不同的场合可以有不同的含义

D.不同类型的变量可以在一个表达式中

本题答案:
A
19、在C语言中,一维数组的定义方式为:类型说明符数组名( )。

A.[整型表达式]

B.[整型常量或整型表达式]

C.[整型常量]

D.[常量表达式]

本题答案:
D
20、若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。 char *p;p= malloc(sizeof(char));

A.(char *)

B.(*char)

C.char *

D.char

本题答案:
A

关于我们  |  免责声明  |  联系我们  |  会员须知

Copyright © 奋学网(www.fxuexi.com)All Right Reserved.湘ICP备2021013332号-3

联系我们 会员中心
返回顶部