程序设计(c)-作业和复习题

程序设计(C)作业一


1. [endif]C语言程序的执行,总是起始于(   )。

A.程序中的第一条可执行语句 

B.程序中的第一个函数

C.main函数

D.包含文件中的第一个函数

2. [endif]以下叙述不正确的是(   )。

A.一个C源程序必须包含一个main函数

B.一个C源程序可由一个或多个函数组成

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

3. [endif]一个C语言程序是由(   )。

A.一个主程序和若干个子程序组成 B.若干函数组成

C.若干过程组成 D.若干子程序组成

4. [endif]C语言程序能够在不同的操作系统下运行,这说明C语言具有很好的(   )。

A.适应性  B.移植性    

C.兼容性          D.操作性

5. [endif]C语言规定,在一个源程序中,main函数的位置(   )。

A.必须在最开始             

B.必须在系统调用的库函数的后面

C.可以任意   

D.必须在最后

6. [endif]下列说法中正确的是(   )。

A.C语言程序书写时,不区分大小写字母

B.C语言程序书写时,一行只能写一个语句

C.C语言程序书写时,一个语句可分成几行书写

D.C语言程序书写时每行必须有行号

7. [endif]下面对C语言特点,不正确描述的是(   )。

A.C语言兼有高级语言和低级语言的双重特点,执行效率高

B.C语言既可以用来编写应用程序,又可以用来编写系统软件

C.C语言的可移植性较差

D.C语言是一种结构化模块化程序设计语言

8. [endif]C语言程序的注释是(   )。

A.由“/*”开头,“*/”结尾 

B.由“/*”开头,“/*”结尾

C.由“//”开头

D.由“*/”或“//”开头

[if !supportLists]9. [endif]C语言程序的语句都是以(   )结尾。

A.“.” B.“;”         C.“,”      D.都不是

[if !supportLists]10. [endif]标准C语言程序的文件名的后缀为(   )。

A..c B..cpp        C..obj      D..exe

[if !supportLists]11. [endif]C语言程序经过编译以后生成的文件名的后缀为(   )。

A..c   B..obj        C..exe      D..cpp

[if !supportLists]12. [endif]C语言程序经过链接以后生成的文件名的后缀为(   )。

A..c        B..obj     C..exe      D..cpp

[if !supportLists]13. [endif]C语言编译程序的首要工作是(   )。

A.检查C语言程序的语法错误

B.检查C语言程序的逻辑错误

C.检查程序的完整性 

D.生成目标文件

[if !supportLists]14. [endif]下面四个选项中,均是不合法的用户标识符的选项是(   )。

A.A  P_0   do         B.float  la0   _A

C.b–a  sizeof   int      D._123  temp  int

[if !supportLists]15. [endif]下面四个选项中,均是合法整型常量的选项是(   )。

A.160  –0xffff   011           B.–0xcdf   01a   0xe

C.–01  986,012   0668          D.–0x48a   2e5   0x

[if !supportLists]16. [endif]下面四个选项中,均是不合法的浮点数的选项是(   )。

A.160.  0.12    e3              B.123  2e4.2  .e5

C.–.18  123e4   0.0             D.–e3  .234   1e3

[if !supportLists]17. [endif]以下不合法的字符常量是(    )

A. ‘\018’   B. ‘\’’’ C. ‘\\’ D. ‘\xcc’

[if !supportLists]18. [endif]下面四个选项中,均是正确的数值常量或字符常量的选项是(   )。

A.0.0   0f   8.9e   '&'         B."a"  3.9e–2.5  1e1  '\"'

C.'3'   011  0xff00  0a         D.+001  0xabcd  2e2  50.    

[if !supportLists]19. [endif]若有说明语句:char c = '\72';则变量c(   )。

A.包含1个字符          B.包含2个字符

C.包含3个字符          D.说明不合法,c的值不确定

[if !supportLists]20. [endif]若有定义:int a = 7; float x = 2.5, y = 4.7; 则表达式x + a % 3 * (int)(x + y) % 2 / 4的值是(   )。

A.2.500000     B.2.750000    C.3.500000      D.0.000000

[if !supportLists]21. [endif]设变量a是整型,f是实型,i是双精度型,则表达式

10 + 'a' + i * f值的数据类型为(   )。

A.int           B.float     C.double      D.不确定

[if !supportLists]22. [endif]在C语言中,要求运算数必须是整型的运算符是(   )。

A./      B.++      C.!=      D.%

[if !supportLists]23. [endif]若变量已正确定义并赋值,下面符合C语言语法的表达式是(   )。

A.a:=b+1      B.a=b=c+2    

C.int 18.5%3      D.a=a+7=c+b

[if !supportLists]24. [endif]若变量a、i已正确定义,且i已正确赋值,则合法的语句是(   )。

A.a==1      B.++i;     C.a=a++=5;      D.a=int(i);

[if !supportLists]25. [endif]下面正确的字符常量是(   )。

A.”c”      B.’\\”      C.’W’      D.”

[if !supportLists]26. [endif]假设变量a,b均为整型,则表达式 (a=2, b=5, b++, a+b) 的值是(   )。

A.7      B.8      C.6      D.2

[if !supportLists]27. [endif]假设变量x,y均为double型,则表达式 x=2, y=x+3/2 的值是(   )。

A.3.500000      B.3      C.2.000000      D.3.000000

[if !supportLists]28. [endif]判断char型变量ch是否为大写字母的正确表达式是(   )。

A.‘A’<=ch<=‘Z’      

B. (ch>=‘A’)&(ch<=‘Z’)

C. (ch>=‘A’)&&(ch<=‘Z’)

D. (‘A’<= ch)AND(‘Z’>= ch)

[if !supportLists]29. [endif]选出正确的输入格式()。

int a; float b; char c;  

scanf(“a = %d,b = %f,c = %c”,&a ,&b ,&c );

    A. 1,2.0,n      B. a = 1,b = 2.0,c = n    

C. 1 2.0 n  D. 12.0n

[if !supportLists]30. [endif]已知函数abc的定义为:void  abc( ) {……} 则函数中void的含义是(    )

[if !supportLists]A. [endif]执行函数abc 后,函数没有返回值

[if !supportLists]B. [endif]执行函数abc 后,函数不再返回

[if !supportLists]C. [endif]执行函数abc 后,可以返回任意类型

[if !supportLists]D. [endif]以上答案都不对

参考答案:

CDBBC CCABA BCACA BADAA     CDBBC BDCBA

第2次作业指南


1. 在C 语言中,复合语句要用一对()括起来。

A. 方括号  B. 圆括号  C. 大括号  D. 尖括号

[提示]参考讲稿3.1.1-4


2. C 语言中,下面哪项是不合法的标识符?()

A. user B. switch  C. _345 D. Abc

[提示]参考讲稿2.1.1


3. 以下说法中正确的是()

A. C 语言比其他语言高级

B. C 语言不用编译就能被计算机执行

C. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D. C 语言出现的最晚,具有其他语言的一切优点

[提示]这个留给自己发挥吧,你觉得不用翻书考证就能看出来的就是答案啦


4. 若变量xy 已正确定义并赋值,以下符合C 语言语法规则的语句是()

A. ++x, y = x--;

B. x + 1 = y;

C. x = x + 10 = x + y;

D. double(x)/10

[提示]自己编个小程序,包含上述语句,然后编译一下,编译器报错的地方就是不对的。以后涉及程序、程序段、语句、表达式的题目都可以这样做。


5. 下列程序的输出结果为()

void main()

{

int x, y, z;

x = y = 1;

z = x++, y++, ++y;

printf(“%d, %d, %d\n”, x, y, z);

}

[if !supportLists]A. [endif]2, 3, 3 B. 2, 3, 2 C. 2, 3, 1  D. 2, 2, 1

[提示]这个不用提示吧,上机运行一下就知道了。程序设计课要动手,干看是学不会的哟。


6. 数值029 是一个()

A. 八进制数  B. 十六进制  C. 十进制  D. 非法数

[提示]参考讲稿2.2.2


7. 逻辑运算符两侧运算对象的数据类型()

A. 只能是0 或1 B. 只能是0 或非0 正数

C. 可以是整型或字符型数据  D. 可以是任何类型的数据

[提示]自己编个小程序,写几个逻辑表达式,将C语言中所有的数据类型都放到逻辑表达式中试一试。


8. 对于int a, 表达式1 <= a <= 5 的值是()

A. 0 B. 1  C. 不定  D. 表达式语法有误

[提示]自己编个小程序,……


9. 执行下列语句段后x 的值为()

int a = 14, b = 15, x;

char c = ‘A’;

x = (a && b) && (c < ‘a’)

[if !supportLists]A. [endif]TRUE  B. FALSE C. 0 D. 1

[提示]自己编个小程序,包含上述程序段,然后在debug中观察一下x的值。如果不会用debug,请看3月5日的课程,老师有很多演示。


10、x, y, z 被定义为int 型变量,若从键盘为其输入数据,则正确的输入语句是()

A. input x, y, z

B. scanf(“%d%d%d”, &x, &y, &z);

C. scanf(“%d%d%d”, x, y, z);

D. read(“%d%d%d”, &x, &y, &z);

提示:此题考察格式化输入函数scanf 的用法。


11、若w=1, x = 2, y=3, z = 4 ,则条件表达式w < x ? w: y < z ? y : z 的值是()

A. 1  B. 2 C. 3 D. 4

提示:此题考察条件运算符的结合性。


12、给定如下程序

#include

void main()

{

char c1 = ‘A’, c2 = ‘a’;

printf(“%c\n”, (c1, c2));

}

则以下叙述正确的是()

A. 程序输出大写字母A B. 程序输出小写字母a

C. 格式说明符不足,编译出错 D. 程序编译通过,但运行时出错

提示:此题考察对标准输出函数和逗号运算符的理解。


13、下列程序的输出结果是()

#include

void main()

{

int a = 2, b = 3, c = 0, d;

d = ! a && !b || !c;

printf(“%d\n”, d);

}

A. 1  B. 0 C. 编译出错 D. -1

提示:此题考察逻辑运算符的优先级。


14、下列程序的输出结果是()

#include

void main()

{

int a = 55, b = 50, c = 60, d;

d = a > 20 ? b : c;

switch(d) {

case 40:printf(“%d”, a);

case 50: printf(“%d”, b);

case 60: printf(“%d”, c);

default: printf(“$\n”);

}

}

A. 50, 60 B. 50, $ C. 60, $ D. 50, 60, $ 

提示:此题考察switch-case 结构跳转规律。


15、给定如下程序段,请选择描述正确的说法()

int i = 9;

while(i = 0) i--;

A. while 循环执行9 次  B. 循环体语句执行一次

C. 循环体语句一次也不执行  D. 循环是无限循环

提示:此题考察循环结构,特别是循环条件的判断。


16、设n 为整型变量,则for(n = 10; n >= 0; n--) 循环的次数为()

A. 9 B. 10 C. 11  D. 12

提示:此题考察对for 循环中三个表达式的理解。


17、对表达式for( 表达式1; ; 表达式3)可以理解为()

A. for(表达式1; 0; 表达式3)

B. for(表达式1; 1; 表达式3)

C. for(表达式1; 表达式1; 表达式3)

D. for(表达式1; 表达式3; 表达式3)

提示:此题考察对for 循环中三个表达式的理解。


18、以下能正确定义一维数组的选项是()

A. int a[5] = {0, 1, 2, 3, 4, 5}; B. char a[] = {0, 1, 2, 3}

C. char a = {‘A’, ‘B’, ‘D’} D. int a[5] = “0123”;

提示:此题考察一维数组初始化的规定。


19. 已有定义int x[3][2],以下能正确引用数组元素的选项是()

A. x[2][2] B. x[1][2] C. x[2][1] D. x[0][2]

提示:此题考察数组下标的合法取值范围。


20. 有以下语句,int x; char c[10]; 则正确的输入语句是()

A. scanf(“%d%s”, x, &c); B. scanf(“%d%s”, &x, &c);

C. scanf(“%d%s”, x, c); D. scanf(“%d%s”, &x, c);

提示:此题考察标准输入函数scanf 对普通变量和数组变量的输入约定。


参考答案:

CBCAC DCBDB ABADC CBACD

 

第3次作业答案(红字为答案)


1. 下列叙述中错误的是( )

A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出

B. 数组名代表数组所占存储区的首地址,其值不可变

C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示

D. 可以通过赋初值的方式确定数组元素个数

提示:请从数组下标的合法取值范围来考虑。


2. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’} ,以下叙述正确的是( )

A. 数组a 和b 的长度相同 B. 数组a 的长度小于数组b 的长度

C. 数组a 的长度大于数组b 的长度  D. 上述说法均不正确

提示:此题考察字符数组长度和字符串长度之间的关系。


3. 以下能正确定义一维数组的选项是( )

A. int num[]; B. #define N 100 int num[N]

C. int num[0..100]; D. int N = 100; int num[N];

提示:此题考察一维数组的维数界定问题。


4. 下列程序的输出结果是( )

#include

void main()

{

char a[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’};

int i, j;

i = sizeof(a); j = strlen(a);

printf(“%d, %d\n”, i, j);

}

A. 9,9 B. 8, 9 C. 1, 8 D. 9,8

提示:此题考察字符数组长度和字符串长度之间的关系。


5. 以下不能正确定义二维数组的选项是( )

A. int a[2][] = {{1, 2}, {3, 4}};  B. int a[][2] = {1, 2, 3, 4};

C. int a[2][2] = {{1}, {2}}; D. int a[2][2] = {{1}, 2, 3};

提示:此题考察二维数组初始化的规定。


6、C 语言规定,若未对函数返回类型加以说明,则函数的隐含类型为( )

A. void B. double C. int  D. char

分析:教材中有答案,但我们不推荐大家在编程时省略函数返回类型。


7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是( )

A. 函数调用可以作为独立语句存在

B. 函数调用可以作为一个函数的实参

C. 函数调用可以出现在表达式中

D. 函数调用可以作为左值而被赋值

分析:基本概念题,可查书或上机验证。


8、下列说法中错误的是( )

A. 在不同的函数中可以使用相同名字的变量

B. 函数中的形参是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数的复合语句中定义的变量只在本函数范围内有效

分析:基本概念题。考察变量的作用域和生命期。


9、下列说法中正确的是( )

A. 定义函数时,形参的类型说明可以放在函数体内

B. return 后面的值不能为表达式

C. 如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准

D. 如果形参与实参的类型不一致,则以实参类型为准

分析:基本概念题,可查书或上机验证。


10、阅读下列程序段,其执行结果为( )

#include

void fun(int a)

{

int x = 5;

x += a++;

printf(“%d,”, x);

}


void main()

{

int a = 3, x = 1;

fun(a);

x += a++;

printf(“%d\n”, x);

}

A. 8,2 B. 8,3 C. 8,4  D. 8,5

分析:考察大家对传值调用和传址调用的理解。


11、阅读下列程序段,其执行结果为()

#include

void main()

{

int a = 4, b = 6, c = 7;

double d;

double fun(int, int, int);

printf(“d = %lf\n”, fun(a, b, c));

}


double fun(int a, int b, int c)

{

return a % b * c;

}

A. 27 B. 27.000000 C. 28 D. 28.000000 

分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。


12、下列说法中不正确的是( )

A. C 语言规定,不能在一个函数的内部再定义函数

B. 在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型

C. 函数的类型可以是整型、实型、字符型,但不能是指针类型

D. 函数可以没有形参,但函数名后的括号不能省略

分析:基本概念题。


13、一个变量的指针就是( )

A. 变量的名称 B. 变量的地址 C. 变量的类型 D. 变量的值

分析:基本概念题。


14. 两个指针变量不能( )

A. 相加 B. 相减 C. 比较 D. 指向同一地址

分析:基本概念题。查书或上机验证。


15. 在C 语言中,对变量的访问方式是()

A. 能直接访问,也能间接访问 B. 能直接访问,不能间接访问

C. 不能直接访问,能间接访问 D. 直接、间接均不能

分析:基本概念题。


16. C 语句: int (* pa)[5]; 中,pa 表示的是一个( )

A. 指针数组的名称

B. 指向整型变量的指针

C. 指向包含5 个整型元素的一维数组的指针

D. 指向函数的指针

分析:基本概念题。


17. C 语句int * func(); 中,func 表示的是()

A. 返回值为指针的函数名称

B. 指向整型变量的指针

C. 指向数组的指针

D. 指向函数的指针

分析:基本概念题。


18. 给定下列程序,假定从键盘输入数据1、2,则执行结果为( )

#include

void swap(int * p1, int p2)

{

* p1 = * p1 + p2;

p2 = p2 + * p1;

}


void main()

{

int a, b, * p1;

scanf("%d, %d", &a, &b);

p1 = &a;

swap(p1, b);

printf("a = %d, b = %d\n", a, b);

}

A. 3,5 B. a = 3, b = 5 C. 3, 2 D. a = 3,b = 2

分析:考察传值与传址的区别。


19. 给定下列程序,则运行结果为( )

#include

void fun(int x, int y, int * z)

{

* z = x – y;

}

void main()

{

int a, b, c;

fun(11, 5, &a);

fun(8, a, &b);

fun(a, b, &c);

printf(“%d, %d, %d\n”, a, b, c);

}

A. 2,4,6 B. 2, 6, 4 C. 6, 2, 4  D. 6,4,2

分析:传址与传值。


20. 给定下列程序,则其运行结果为()

#include

void main()

{

static int array[][4] = {{1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19 ,21, 23}};

int (* p)[4], i, j, sum[3];

p = array;

for(i = 0; i < 3; i++)

{

sum[i] = 0;

for(j = 0; j < 4; j++)

sum[i] += *(*(p + i) + j);

printf(“%d, ”, sum[i]);

}

}

A. 16, 48, 80 B. 164880 C. 144 D. 80

分析:考察用指针变量遍历二维数组的方法。重点在理解,否则考试时不可能有机会上机验证。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,733评论 0 38
  • 文章图片上传不正常,如需文档,可联系微信:1017429387 目录 1 安装... 4 1.1 配置探针... ...
    Mrhappy_a7eb阅读 6,284评论 0 5
  • 以前,对于年龄没有什么概念。小时候就是盼望长大,觉得长大了就自由了。父母对我在金钱上没有多少限制,用他们的话来说...
    小千世界O阅读 847评论 0 0
  • 乘上岁月的帆,驶向记忆的彼岸,那里有前尘的风景。我们每个人从懵懂无知,到成熟从容,慢慢沉淀出一幅纯净的风景。我们风...
    瑪吉阿米阅读 443评论 0 1
  • 亲爱的女儿: 时间过得真快,转眼你进入高中学习已半载有余,来不及回望,你就这样悄无声息的长大了,可是在爸爸,妈妈眼...
    出塵阅读 326评论 0 1