任务一 C程序设计概述

更新时间:2023-10-21 00:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

任务一 C程序设计概述 一,填空题

1.用C语言编写的程序称为 2.C语言源程序的基本单位是。 3. 一个C

4. 在C语言中,输入操作是由库函数输出操作是由库函数 printf()完成的。

5. C语言源程序文件的扩展名是经过编译后,生成文件的扩展名是,生成文件的扩展名是。

6. C语言注释所用到的符号是 二,选择题

1. C语言规定在源程序中,主函数的位置(C) A.必须在开始

B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后

2.下列程序错在(C)处 A.main() B.float x,y C.a=3:b=8 D.a=b+c

第1 / 31页

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

A.C语言程序总是从第一个定义的函数开始执行

B.在C语言程序中,要调用一个定义的函数必须在主函数中定义 C.C语言程序中的主函数必须在程序的开始部分 D.C语言程序总是从主函数开始执行 4.以下叙述正确的是(B)

A.在C程序中,main函数必须位于程序的最前面 B.C语言本身没有输入输出函数 C.C程序的每行只能写一条语句

D.在对每一个C程序进行编译的过程中,可发现注释中的拼写错误 5.C语言程序的语句如果一行写不下时,可以(D) A.用分号换行

B.在任意空格处换行 C.用逗号换行 D.用回车符换行

任务二 C语言程序设计的基本概念 一.选择题

1.下面不是C语言中整型常量的是(C)。 A. 03 B. 12 C. 059 D. 0xA8

第2 / 31页

2.下面程序段的输出结果是(B)。

int i=65535; printf(“%d”,i);

A. 65535 B. -1 C. 1 D. 0

3.以下不能用来表示整形常熟的进制形式为( A )。 A. 二进制 B. 八进制 C. 十进制 D. 十六进制

4.下列程序段的输出结果是( D )。 Int a=1,b=1,c=1; a=a+++b+++c; printf(“%d”,a); A. 6 B. 5 C. 4 D. 3

5.C语言中的预算对象必须是整形的运算符是( C)。 A. *= B. - C. % D. >=

6.以下选项中的非法的表达式是( C )。 A. a+1 B. x=y=6 C. 7.9%8 D. (int)6.58 7.若有以下程序段: Int a=1,b=2,c;

C=1.0/b*a;

则执行后c的值为( D )。 A. 0 B. 0.5 C. 1 D. 无结果

8.C语言中的标识符只能有字母,数字和下划线组成,切第一个字符必须为( C )。

A. 字母 B. 下 划线

C. 字母或下划线 D. 字母,数字或下划线

9.若有以下定义,则能使职位3的表达式为( C )。 Int a=7,b=12; A. B%=(A%=5) B. b%=(a-a%5) C. (b%=a)-(a%=5) D. b%=a-a%5

10.若有说明语句:char c=’ab’;则变量才( D )。 A. 包含一个字符‘a‘

B. 包含2个字符‘a’和‘b’

C. 包含3个字符‘a’,‘b’和‘\\0’ D. c的值不确定 二丶填空题

1.c语言的基本数据类型为和型变量。

第4 / 31页

2.若有以下程序段: Int a=2,b=2;

b+=(a++)+(++a)+(a++); 则执行后c的值为 11 。 3,以下程序的输出结果是 main() {

char x=’a’; y=x-32;

printf(“%c”,y); }

5.若有定义int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)(int)b的值为1 。

6.若a和b都是int类型的变量,切a=5,b=5,则执行表达式a+=b++后a的值为,b的值为。

任务三 顺序结构程序设计 一,选择题

1.使用scanf函数输入数据时,若输入数据的的类型与格式说明的类型不匹配时,系统将(B)。

A.给出出错信息

B.不给出出错信息,但最终不能得到正确的输入数据

第5 / 31页

C.不给出出错信息,但最终能得到正确的输入数据 D.拒绝用户输入数据

2.Putchar函数可以向终端输入(C)。 A.一个字符串 B.一个实型变量 C.一个字符 D..多个字符

3.a,b,c被定义为int类型变量,若从键盘给a,b,c输入数据,正确的输入语句为(C)

A.scanf(“%d%d%d”,&a,&b,&c); B.read(“%d%d%d”,&a,&b,&c); C.scanf(“%d%d%d”,a,b,c);

C.write(“%d%d%d”&a,&b,&c); 4.以下程序段的输出结果是(C)。 int a=5678; printf(“-”,a);

A.56 B.78 C.5678 D.无结果显示

5.printf函数中用到格式符%6s,其中的数字6表示输出的字符串占用6列。如果字符串长度大于6,则(B);如果字符串长度小于6,则(D)。

A输出错误信息 B.按原字符长度从左到右全部输出

C.按左对齐输出该字符,右补空格 D.按右对齐输出该字符,左补空格 6.阅读以下程序,当输入数据的形式为5,6,7 ,则正确的输入结果为()。

Main(A)

{

int a,b,c;

scanf(“%d,%d,%d”,&a,&b,&c); printf(“a+b+c=%d”,a+b+c); }

A.a+b+c=18 B.a+b+c=11 C.5+6+7=18 D.无结果显示

7.设a和b为float类型变量,则以下不合法的赋值语句为(B) A.++a; B.b=(a%5)/5; C=a+=b+8; D.a=b=6; 8.若有以下程序段: Int x=0x6c,y=0x6c;

x-=y;

printf(“%x”,x);

执行后输出结果是(B)。 A.0x0 B.0 C.0x6c D.x 9.若有以下程序:

第7 / 31页

Main() {

int k=2,i=2,m; m=(k+=i*=k);

printf(“%d,%d”,m,i); }

执行后输出结果是(D)。 A.8,6 B.7,4 C.8,3 D.6,4 10.若有如下程序: Int a=2010,b=2011; Printf(“%d”,(a,b));

11.则以下描述中正确的是(C)

A.输出语句中格式说明符的个数少于输项的个数,不能输出正确结果

B.运行时产生错误信息 C.输出结果为2011 D.输出结果为2010 二、填空题

1.复合语句在语法上被认为是 合法的 。空语句的书写形式为 ”” 。 2.假设变量X和Y均为整型变量,填写以下语句,使其可以实现不借助任何变量把X和Y中的值进行交换。

第8 / 31页

X+=Y ;y=x- Y ;x-=Y ;

3.若a为int类型的变量,则执行以下语句后X的值为-12。 A=6;a+=a-=a+a

4.以下程序的输出结果为 11,013,OXB . Main() {

Int a=11;

Printf(“%d,%o,%x”,a,a,a); }

5.执行以下程序时,如果从键盘上输入:aBcDeFg 则屏幕上的输出结果为 ABCDEFG 。

#include main( ) {

char ch;

while((ch=getchar( ))!=`\\n`) {

If(ch>=`a`&&ch<=`z`) ch=ch-32;

printf(“%c”,ch); } ,

第9 / 31页

}

6.有以下程序段:

int a=0,b=0; char c=`a`;

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

若从键盘上输入:6,8,则输入结果为6,8,? 。 任务四 选择结构程序设计

1.若变量c为char类型,能正确判断出c为小写字母的表达式是(D)。 A.?a?<=c<=?z? B.(c>=?a?)||(c<=?z?) C.(?a?<=c)and(?z?>=c) D.(c>=?a?)&&(c<=?z?)

2.下列程序的运行结果是(B)。 Main() { inr x=6; If(x++>6)

Printf(“%d\\n”,x); Else

Printf(“%d\\n”,--x); }

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

第10 / 31页

3.如果a大于3并且小于等于8时为真,否则为假,一下表示正确的表达式是(C)。

A.33||a<=8 C.a>3&&aa<=8 D.a>3&&a<8

4.下列条件语句中,功能与其他语句不同的是(D)。 A.if(b) printf(“%d\\n”,x);else printf(“%d\\n”,y);

B. if(b==0) printf(“%d\\n”,y);else printf(“%d\\n”,x);

C. if(b!=0) printf(“%d\\n”,x);else printf(“%d\\n”,y); D. if(b==0) printf(“%d\\n”,x);else printf(“%d\\n”,y);

5.设a,b和c都是int类型的变量,且a=3,b=4,c=5,则下列表达式中值为0的是(D)。

A.a&&b B.a<=b C.a||++b&&b-c D.!(a

6.为表示x<=y<=z,应使用的表达式是(C)。

A.(x<=y)and(y<=z) B.x<=y<=z C.x<=y&&y<=z D,。x<=y)&(y<=z) 7.有如下程序: Main()

第11 / 31页

{

Inr i=1,j=1,k=2;

If(((j++||k++)&&i++)

Printf(“%d,%d,%d\\n”,i,j,k); }

执行后输出的结果是(C)。

A.1,1,2 B.2,2,1 C.2,2,2 D, 2,2,3 8.以下程序的运行结果是(A)。 main() {

int a,b,d=241; A=d/100%9; B=(-1)&&(-1);

printf(“%d,%d”,a,b); }

A.2,1 B.6,0 C.2,0 D.6,1

9.逻辑运算符两侧运算对象的数据类型(C)。 A.只能是0和1 B.只能是0或非0正数

C.只能是整型或字符型数据 D.可以是任何类型的数据 10.以下程序的运行结果是(A)。

第12 / 31页

main() {

int a=2,b=-1,c=2; if(a

else c++;

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

A.2 B.3 C.1 D.0 二,填空题

1.C语言中三中路及运算符按优先级从高到低排列依次为 ! ,&& ,|| 。

2.C语言中用 1 表示逻辑“真”,用 0 表示“假”。

3.与数学公式A<8切a≥5对应的C语言表达式是 (a<8)&&(a>=5) 。 4以下程序的输出结果是 1 。 Main() { int p,a=35; If (p=a!=0)

Printf(?%d\\n”. p+10); }

5.以下程序输出的结果是 4 。

第13 / 31页

Main()

{ int n=0,a=5,b=10; If(!n)b-=1; If(a)b-=2; If(b)b-=3; Printf(“%d\\n”,b); }

6.以下程序输出的结果是 Big! 。

Main() { int x; X=9 If(x>3) If(x<5)

Printf(“smail!”): Else

Printf(“big!”):

任务五 循环程序结构设计 一,填空题

1.在C语言中有三种可以构成循环结构的循环语句,它们分别是while语句、do-while语句和for语句。

2.用while语句来实现当型循环结构,用do-while语句来实现直到型循环结构。

第14 / 31页

3.在一个循环体内又完整地包含了另一个循环结构,称为嵌套。 4.Break语句的功能跳出swiech语句或循环语句,除了可以在循环中使用外,还可以在switch结构中使用;continue语句的功能是结束本次循环。

5.Goto语句一般常与关键字if在一起组合使用。 二. 阅读程序或程序段填写运行结果。 1.设有以下程序: main() {

int m1,m2;

scanf(“%d”,&m2); while(m2!=0)

{ m1=m2; M2=m2/10;

Printf(“=”,m1); } }

若从键盘上输入3286,程序运行后,结果为2、以下程序运行后输出的结果是main()

{

第15 / 31页

Int i=10,j=0; do { J=j+I; i--;}

while(i>2);

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

3、定义有如下变量:int n=10:, 果是While(n>7) { n--;

Printf(“%d”,n); }

4、若有以下程序: main() {

int m=2; do

{ printf(“%d”,++m); }while(!m);

} 则下列循环的输出结

第16 / 31页

运行输出结果是6、运行下列程序后的输出结果是main ()

{

int n=4; while(n--)

printf(“=”,--n); }

任务六 数组 一.选择题

1.以下能正确定义一堆数组的选项是(B)。 A.ing num[ ];

B. #define M 5 int N[M]; C. int num[0?15];

D. int N=100; Int num[N];

2.下面对一维数组a初始化的正确方式(C)。

A. int a[4]=(1,0,1,2); B. int a[4]={} C. int a[]={0}; D. int a[4]={1,2,3,4,5};

3. 在语句Int a[8];之后,对a的正确引用是(A)。 A. a[8] B. a[5.3] C. a(5) D. a[8-3]

4. 以下能正确定义二维数组的选项是(C)。

A. int N=10,num[N][N]; B. Int a[][]; C. int a[2][3]; D.

第17 / 31页

int a[2][ ];

5. 以下能正确定义数组并正确赋值的语句是(A)。 A. int N=10,num[N][N];

B. int a[2][3]={{1,2},{3,4},{5,6}}; C. int a[1][2]={{0},{1}}; D. int a[2][]={{1,2},{3,4}};

6. 下面关于数组的描述正确的是(C)。

A. 数组的长度是固定的,数组元素的类型可以不同。 B. 数组的长度是可变的,数组元素的类型必须相同。 C. 数组的长度是固定的,数组元素的类型必须相同。

D. 数组的长度是可变的,数组元素的类型可以不同。 7. 不能把字符串“stud”赋给数组b的语句是(A)。 A. char b[15];b= “stud”; B. char b[15]= “stud”;

C. char b[15];strcpy(b, “stud”); D. char b[15]={?s?, ?t?, ?u?, ?d?}; 8. 若有以下说明: Int a[12]={1,2,3,4,5,6,7}; char c= ?a?, d, g;

则数值为4的表达式是(D)。 A. a[g-c] B. a[4]

第18 / 31页

C. a[?d?-?c?] D. a[?d?-c] 9.若有以下定义:

char m[]= “number”;

char n[]={ ?n?, ?u?, ?m?, ?b?, ?e?, ?r?}; 则正确的叙述是(D)。 A. 数组m与数组n等价 B.数组m与数组n长度相等 C.数组m的长度大于数组n的长度 D.数组m的长度小于数组n的长度

10.判定字符串str1和str2是否相等,正确的语句是(C)。 A. if(str1==str2) B. if(str1=str2)

C. if(strcpy(str1, str2)) D. if(!strcmp(str1, str2)) 二 阅读程序填写运行结果

1.设有以下程序: #include“stdio.h” #include“string.h” main() {

char ss[10]= “12345”;

第19 / 31页

stract(ss,“6789”); gets(ss); printf(“%s\\n”,ss); }

当执行上面的程序,输出ABC时,输出的结果是。 2.设有以下程序:

#include “stdio.h” #include“string.h” main() {

char s1[20],s2[20]; scanf(“%s%s”,s1,s2); if(strcmp(s1,s2)) printf(“#”); else

printf(“&”);

printf(“%d\\n”,strlen(strcat(s1,s2))); }

若从键盘输入number<回车>和number1<回车>,该程序运行后的结果是

3.若有以下程序:

第20 / 31页

main() {

int s[4]={1,2,3,4},k for(k=0;s[k]!?\\0?;k++) switch(k) {

case 3: printf(“%d”,s[k-3]);continue; case 2: printf(“%d”s[k-1]);continue; case 1: printf(“%d”,s[k+1]);continue case 0: printf(“%d”,s[k+3]); }

}

则程序的运行结果是 4 3 2 1 。 4有以下程序:

main() {

int s[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&s[i]%2) {k=k+s[i];i++;} print(“%d\\n”,k); }

该程序的运行结果是 24 。

第21 / 31页

5.以下程序的输出结果是。 main()

{

int s[4]={1,2,3,4},i,j=1,sum=0; for(i=3;i>=0;i--) {sum+=s[i]*j; j*=10; }

Printf(“sum=%d\\n”,sum); }

任务七 函数

本文来源:https://www.bwwdw.com/article/eprf.html

Top