c语言程序设计第一章作业,《C语言程序设计基础》习题集(含答案).doc

第一章 C语言概述

1.1、选择题

(1)一个C语言程序是由( )组成。

A. 一个主程序及若干个子程序 B. 一个主程序

C. 一个主函数及若干个子函数 D. 一个主函数

(2) 一个C语言程序总是从( )开始执行。

A. 主过程 B. 主函数

C. 子程序 D. 主程序

(3) main函数在源程序中的位置( )。

A. 必须在最开始 B. 必须在子函数的后面

C. 可以任意 D. 必须在最后

(4) 一个C程序的执行是从( )。

A. 本程序的第一个函数开始,到最后一个函数结束

B. 本程序的main函数开始,到最后一个函数结束

C. 本程序的main函数开始,通常也在main函数结束

D. 本程序的第一个函数开始,到main函数结束

(5) 以下叙述不正确的是( )。

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

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

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

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

1.2、编程题

(1) 参照本章例题,编程输出如下信息:

**********

Very good!

**********

(2) 编写一个C程序,输出以下信息:

* * * * *

* Turbo C *

* * * * *

1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?

1.5 用户编写的C程序上机运行要经过哪些步骤?

第二章 基本数据类型和表达式

2.1 单项选择题

(1) 以下不能用作变量名的是( )

A)_26B)caseC)scanfD)Double

(2) 以下合法的八进制数是( )

A)0135B)068C)013.45D)o7

(3) 若变量已正确定义,以下非法的表达式是( )

A)a/=b+cB)a%(4.0)C)a=1/2*(x=y=20,x*3)D)a=b=c

(4) 设x为int类型,其值为11,则表达式:(x++*1/3)的值是( )

A)3B)4C)11D)12

(5) 若题中各变量已正确定义并赋值,下面符合C语法的表达式是( )

A)a%=7.6;B)a++,a=7+b+cC)int(12.3)%4D)a=c+b=a+7

(6) 设k和x均为int型变量,且k=7,x=12,则能使值为3的表达式是( )

A)x%=k%=5B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)- (k%=5)

(7) 能正确表示数学公式,的C语言表达式是( )

A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180)))

C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))

(8) 以下变量x、y、z均为double型且已正确赋值,不能正确表示代数式的C语言表达式是( )

A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z

(9) 以下叙述中正确的是( )

A) C程序中,赋值运算符的优先级最低。

B) 若a是浮点型变量,C程序中允许进行以下赋值:a=10,因此,浮点型变量中允许存放整型数。

C) 若a和b类型相同,在执行了赋值a=b后b中的值将放入a中,b中的值将丢失。

D)在C程序中,除号运算符“/”两边的类型相同时才能进行相除运算。

(10))有以下程序:

#include

void main(void)

{int k=2,i=2,m;

m=(k+=j*=k++); printf(" %d , %d\n ", m , j);

}

执行后的输出结果是( )

A)8,6B)8,3C)6,4D)7,4

(11)有以下程序:

#include

void main(void)

{unsigned a=32768;int b;

b=a;

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

}

程序执行后的输出结果是( )

A)b=32768B)b=32767C)b=-32768D)b=-1

(12)有以下程序段:

int a=1234;

printf("%2d\n",a);

其输出结果是( )

A)12B)34C)1234D)输出宽度不足,无结果

(13)已有定义和语句:double a,b,c;

scanf(" %lf%lf%lf ",&a,&b,&c);

要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 绪论作业答案(共50分) 一、分析如下程序中 (1)~ (10)各语句的频度。(每个1分,共10分) Ex( ) { int i , j , t ; (1) for( i=1 ; i<10 ; i++) //n = (2) printf(“\n %d” , i ); //n = (3) for(i=1; i<=2; i++) //n = (4) printf(“\n”); //n = (5) for(i=1; i<=9; i++) //n = { (6) for(j=1; j <= i ; j++) //n = { (7) t = i * j ; //n = (8) printf(“]”,t); //n = } (9) for(j=1; j 0) { if(x > 100) {x -= 10 ; y -- ;} else x ++ ; } 问if 语句执行了多少次?(2分) y--执行了多少次?(2分) x ++执行了多少次?(2分) 三、回答问题(共25分) 书中16页的起泡排序如下: void bubble_sort(int a[],int n){ //将a中整数序列重新排列成自小至大有序的整数序列。 for(i=n-1,change=TRUE;i>=1&&change;--i){ change=FALSE; for(j=0;ja[j+1]{a[j]<-->a[j+1];change=TRUE; } } }//bubble_sort 1.(共15分)分析该算法的最佳情况 ,最坏情况和平均情况下各自的时间复杂度(给出分析思路与过程)。 (1) 最佳情况的时间复杂度分析(5分): (2) 最坏情况的时间复杂度分析(5分): (3) 平均情况的时间复杂度分析(5分): 2.(共10分)比较与C语言书中的起泡排序异同,并从时空效率角度说明谁更优。 四、完成如下选择题(每3分,共9分)。 1. 设f为原操作,则如下算法的时间复杂度是( )。 for (i = 1; i*i=1;i--) for(j=1;jA[j+1]) A[j]与A[j+1]对换; 其中n为正整数,则算法在最坏情况下的时间复杂度为( )。 A.O(n) B.O(nlog2n) C. O(n3) D. O(n2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值