设为首页收藏本站

湖北自考网论坛-湖北自考论坛|湖北自考网|湖北最大自学考试社区论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 3427|回复: 12
打印 上一主题 下一主题

高级语言程序设计(一) 00342 全国高等教育自学考试 概述 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2005-12-31 09:36:23 |只看该作者 |正序浏览

高级语言程序设计(一) 00342 全国高等教育自学考试 第1章 概述

一、选择题

1、正确的C语言用户自定义标识符是 【A】 P5

A. print B. float C. when? D.random﹪2

2、C语言程序编译时,程序中的注释部分 【 D】 P8

A. 参加编译,并会出现在目标程序中

B. 参加编译,但不会出现在目标程序中

C. 不参加编译,但会出现在目标程序中

D. 不参加编译,也不会出现在目标程序中

3、C语言中,″\x3d″在内存中占用的字节数是( B )

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

第2章 基本数据类型和运算

一、选择题

1、下列表达式的值为0的是 【 C 】

A. 3﹪5 B. 3/5.0 C. 3/5 D. 3<5

2、4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【B 】 A. 0和2 B. 0和3 C. 1和2 D. 1和3

3、属于C语言基本数据类型的是(B ) P10

A.指针型 B.无符号整型 C.数组型 D.结构型

4、C语言的长整型数值在计算机中占用的字节个数是(D)

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

5、设int x;则执行printf(″%x\n″,~x^x);的结果是( D )

A.0 B.1 C.ff D.ffff

6、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( A)

A.9,19 B.9,20 C.10,19 D.10,20

二、填空题

1、初始化值是0.618的双精度变量a的定义形式为 double a=0.618

2、表达式 !10! = 1的值是 1

3、“20<x≤30”的C语言表达式是.x>20&&x<30或者(x>20)&&(x<30)

4、表达式a = 1,a + 1,a + + 的值是 2

5、设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是 4

6、设char ch=′A′;则printf(″%c″,(ch>=′A′ &&

ch<=′Z′)?ch+32:ch);的值是 a

第3章 顺序结构和循环结构

一、选择题

1、下列保留字中用于构成循环结构的是 【B】

A. if B. while C. switch D. default

2、 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【A 】

A. if(a>b){if(c>d) x = 1;else x = 2;}

B. if(a>b){if(c>d) x = 1;} else x = 2;

C. if((a>b) && (c>d)) x = 1;else x = 2;

D. if(a< =b) x = 2;else if (c>d) x = 1;

3、设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是【 D】

A. x = a,y = 97 B. x = 97,y = a C. x = 97,y = 97 D. x = a,y = a

4、对于while语句,错误的说法是( B)

A.用条件控制循环体的执行次数 B.循环体至少要执行一次

C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句

5、执行下列语句

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

if(a<b)if(b>c){a=c;c=b;}

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

后输出的结果是( C)A.6,7,7 B.6,7,8 C.8,7,6 D.8,7,8

5、设int b[ ]={1,2,3,4},y,*p=b; 则执行语句y=*p++;之后,变量y的值为( A ) A.1 B.2 C.3 D.4

二、填空题

1、设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为0

2、结构化程序设计的三种基本结构是:选择结构、循环结构和顺序结构

3、下列程序

int x=3;

do{printf(″%d″,--x);}while(!x);

循环执行的次数是 1

三、程序分析题

1、 # include ″stdio.h″

main()

{char c;

c = getchar();

if(c> =′a′&&c< =′z′) ‖c> =′X′&&c< =′Z′)c = c - 23;

printf(″﹪c \ n″,c);

}

设从键盘上输入Next ↙

答:Q

2、.main( )

{

int s=0,i;

for(i=1;;i++)

{

if(s>50)break;

if(i%2==0) s+=i;

}

printf(″i=%d,s=%d\n″,i,s);

}

答: i=15,s=56

四、程序填充题

1、输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。

# include ″stdio.h″

main()

{ char c;

int ___________________________;

while((c = getchar())! =′\ n′)

{

if(__________________________)digit + + ;

else if(c = =′′‖c = =′\ t′) ++ blank;

else __________________________;

}

printf(″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other);

}

答:.(1)digit=0,blank=0,other=d (2)c>=’0’&&c>=’9’

(3)++other或者 othe++

五、程序设计题

1、 求出10至1000之内能同时被2、3、7整除的数,并输出。

答:main()

{int i;

for(I=10;I<=1000;I+++)

if(I%2= =0)&&(I%3= =0)&&(I%7= =0)

print(“I=%d/n”,i);

}

2、 求1到100之间的奇数之和及偶数之和,并将二者输出。

答:main()

{int a=0,b=0,I;

for(I=2;I<=100;I+=2

{a+=I;b+=i-1}

printf(“Sum of even umberz%d/n”,a);

printf(“Sum of odd umberz%d/n”,b),

}

3、计算e=1+的值并输出(设n=20)。

答:40、main()

{double e,f ; int i;

e=f=1;

for(i=1;i<=20;i++)

{f*=i;e+=1/f ;}

printf(“\ne=%f”,e)}

分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0

Rank: 1

13#
发表于 2006-3-5 13:32:05 |只看该作者

好东东!

先COPY下来再说.

[em22]

使用道具 举报

Rank: 9Rank: 9Rank: 9

12#
发表于 2005-12-31 09:42:24 |只看该作者

2002年1月高等教育自学考试 高级语言程序设计(一)试题 课程代码:00342

二、填空题(每空1分,共15分)

1.设int a=5,b=2;float c=32.8;,表达式b*(int)c%a的值为______。

2.计算a、b中最小值的条件表达式为______。

3.计算x、y之和的立方根,表达式应写作______。

4.判断变量a、b、c的值是否是等差数列中连续的三项,写作C的表达式为______。

5.判断变量a、b的值均不为0的C表达式为______。

6.执行语句“a=5+(c=6);”后,变量a、c的值依次为______。

7.整型变量x的值为23,语句“printf(″%o\\n″,x);”的输出结果为______。

8.执行语句“n=1;if(n=5) n++;"后,变量n值为______。

9.执行语句“s=0;n=5;while(--n) s+=n;”后,变量s、n值依次为______。

10.执行语句“for(s=0,i=1;i<11;i++) {if(i==6)continue;s+=i;}"后,s值为______。

11.若声明“char a[]=″windows″,b[]=″9x″;”,

执行语句“printf(″%s″,strcat(a,b));”的输出结果为______。

12.若声明“char a[15]=″Windows-9x″;”,语句“printf(″%s″,a+8);”的输出结果为______。

13.程序中使用了字符串函数(如strlen),则必须包含的头文件名为______。

14.访问结构体数组元素a[k]的成员b,写作______。

15.a、b都是结构体变量,语句“a=b;”能够执行的条件是______。

三、程序阅读题,读下列程序,在程序旁的划线处写出程序的输出结果。每行2分,共24分)

1.#include <stdio.h>

void main() 输出结果:______

{ int i; ______

for (i=1;i<5;i++) printf(″%d\t%c\n″,i,'A'+i); ______

} ______

2.#include <stdio.h>

void main()

{ int i,j,a[4][4];

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

for(j=0;j<4;j++) a[i][j]=1+i-j;

for(i=0;i<4;i++) {

for(j=0;j<4;j++) 输出结果:______

if(a[i][j]>0) printf(″%3d″,a[i][j]); ______

putchar('\n'); ______

} ______

}

3.#include <stdio.h>

void f(float a,float b,float* c)

{ static float x;float y;

x=(y=a>b?a:b)>x?y:x;

*c=x;

}

void main()

{ float a[5]={2.5,-1.5,7.5,4.5,6.5},x;

for(int i=0;i<4;i++) { 输出结果:______

f(a[i],a[i+1],&x); ______

printf(″%.1f\n″,x); ______

} ______

}

三、程序阅读题,读下列程序,在程序旁的划线处写出程序的输出结果。每行2分,共24分)

3.下列函数用于将链表中tabdata类型的、成员num值与形参n相等的结点删除。

struct tabdata *de1(tabdata *h,int n)

{ struct tabdata *p1,*p2;

if(h==NULL) {printf(″\nlist null!\n″); (1) ;}

p1=h;

while(n!=p1->num && (2) ){p2=p1;p1=p1->next;}

if((3) ) {

ATH connecttype="rect" gradientshapeok="t" extrusionok="f">ATH>if(p1==h) h=p1->next;else (4) ;

printf(″delete:%1d\n″,n);

}

else

printf(″%1d not been found!\n″,n);

return h;

}

五、编程题(第1小题6分,其他小题各8分,共22分)

1.编程,先输入n,再输入n个实数并分别统计正数的和、负数的和,然后输出统计结果。

2.编程,输入a1、a2、...、a15?后,计算下列表达式的值并输出。

3.把文本文件x1.dat复制到文本文件x2.dat中,要求仅复制x1.dat中的非空格字符。

四、根据下列各编程题题意填空(每空2分,共24分)

1.输入2个整数,输出它们的最小公倍数和最大公约数。

#include <stdio.h>

void main()

{ int m,n,gbs,gys; scanf ((1) );

四、根据下列各编程题题意填空(每空2分,共24分)

1.输入2个整数,输出它们的最小公倍数和最大公约数。

#include <stdio.h>

void main()

{ int m,n,gbs,gys; scanf ((1) );

gbs=m;

while((2) ) gbs=gbs+m;

gys=(3) ;

(4) ;

}

2.下列函数sum的返回值为一个整数m的所有因子之和。

(1)

{ int s=1;i;

for((2) ;i<=m/2;i++)

if((3) ) s=s+i;

(4) ;

}

使用道具 举报

Rank: 9Rank: 9Rank: 9

11#
发表于 2005-12-31 09:39:53 |只看该作者

2002年1月高等教育自学考试 高级语言程序设计(一)试题 课程代码:00342

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共15分)

1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译 B.编译、连接 C.连接、运行 D.运行

2.常数的书写格式决定了常数的类型和值,0x1011是( )

A.8进制整型常量 B.字符常量 C.16进制整型常数 D.2进制整型常数

3.C语句“x*=y+2;”还可以写作( )

A. x=x*y+2; B. x=2+y*x; C. x=x*(y+2); D. x=y+2*x;

4.下列格式符中,可以用于以8进制形式输出整数的是( )

A. %d B. %8d C. %o D. %1d

5.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )

A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);

B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);

C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);

D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);

6.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )

A. 22,13 B. 12,10 C. 22,10 D. 12,13

7.下列各语句定义了数组,其中一个不正确的是( )

A. static int a[5],b[2][3]; B. char no[30],rec[30,6];

C. int x[]={2,4,6,8,10}; D. int x[10]={1,2,3,4,5};

8.宏定义“#define p(x,y,z) x=y*z;”的宏替换“p(a,x+5,y-3.1)”应为( )

A. a=x+5*y-3.1 B. a=(x+5)*(y-3.1); C. a=x+5*y-3.1 D. a=(x+5)*(y-3.1)

9.下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的( )

A. float d,*p=d; B. float d,*p=&d; C. float d,p=d; D. float *p=&d,d;

10.执行语句“for(i=0;i<10;++i,++a)scanf(″%d″,a);”试图为int类型数组a[10]输入数据,是错误的。错误的原因是( )

A.指针变量不能做自增运算 B.数组首地址不可改变

C.++i应写作i++ D.++a应写作a++

11.定义函数时,缺省函数的类型声明,则函数类型取缺省类型( )

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

12.执行语句“k=5|3;”后,变量k的当前值是( ) A.1 B.8 C.7 D.2

13.执行语句“k=53;”后,变量k的当前值是( )A.15 B.125 C.8 D. 6

14.以“只读”方式打开文本文件a:\aa.dat,下列语句中哪一个是正确的( )

A. fp=fopen(″a:\\aa.dat″,″ab″); B. fp=fopen(″a:\aa.dat″,″a″);

C. fp=fopen(″a:\aa.dat″,″wb″); D. fp=fopen(″a:\\aa.dat″,″r″);

15.写字符到磁盘文件的fpuc函数,其函数原型(头)正确的是( )

A. FILE* fputc(char) B. int fputc(FILE *)

C. int fpuc(char,FILE *) D. int fputc(FILE *,char)

使用道具 举报

Rank: 9Rank: 9Rank: 9

10#
发表于 2005-12-31 09:39:37 |只看该作者

四、程序填充题(本大题共3小题,每小题6分,共18分)

给出下列程序,将横线处缺少的部分补上,使其能正确运行。

36.将一个十进制整数n转变为二进制数。

main( )

{ int i=0,j,n,num[20];

scanf(″%d″, ); /*第一空*/

while(n!=0)

{ num[i++]= ; /*第二空*/

n= ; /*第三空*/

}

for(j=i-1;j>=0;j--)printf(″%d″,num [j]);

}

37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。

main( )

{union data

{ int a[10];

int b ;/*第一空*/

};

union data ab;

int i,j;

for(i=0;i<10,i++)

scanf(″%d″, ); /*第二空*/

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

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

printf(″%5d″, );/*第三空*/

}

38.用指针法输出二维数组,每行三个数。

main( )

{int i,j,a[3][3]={1,2,3,4,5,6,7,8,9},(*p)[3];

; /*第一空*/

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

{

for(j=0;j<3;j++) printf(″%5d″, ); /*第二空*/

;/*第三空*/

}

}

五、程序设计题(第39小题5分,第40、41小题各6分,共17分)

39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……)

40.键入一串字符(换行符结束),用循环语句将其中的大小写英文字母互换后输出。

41.设int a[3][4];先为数组输满数据,再将该数组周边的元素输出(元素输出次序不限)。

一、单项选择题(每小题1分,共15分)

1.B 2.C 3.C4.C5.C 6.A 7.B 8.A 9.B 10.B11.D 12.C13.D 14.D 15.C

二、填空题(每空1分,共15分) 15.a、b为同类型的结构体变量

1.4 2.a<b? a:b 3.pow(x+y,1.0/3) 4.a-b==b-c

5.a*b!=0 或a*b 6.11,6 7.27\n 8.6 9.10 10.49

11.windows 9x 12.9x 13.string.h 14.a[k].b或(a+k)->b

三、程序阅读题(每行2分,共24分)

1.1 B 2.1 3. 2.5

2 C 2 1 7.5

3 D 3 2 1 7.5

4 E 4 3 2 1 7.5

四、根据下列各编程题题意填空(每空2分,共24分)

1.(1)″%d%d″,&m,&n (2)gbs%n!=0(3)m*n/gbs(4)printf(″%d %d\n″,gbs,gys);

2.(1)int sum(int m) (2)i=2 (3)m%i==0 (4)return s

3.(1)return h(2)p1->next!=NULL(3)n==p1->num(4)p2->next=p1->next

五、编程题(第1小题6分,其他小题各8分,共22分)

1.#include <stdio.h>

void main()

{ int i,n;float x,s1=0;s2=0;

scanf(″%d″,&n);

for(i=1;i<=n;i++) {scanf(″%f″,&x);if(x>0) s1++;if(x<0) s2++;}

printf(″%f %f\n″,s1,s2,);

}

2.#include <stdio.h>

void main()

{ float a[15],y; int i;

for(i=0;i<15;i++) scanf(″%f″,a+i);

y=a[14];for(i=13;i>=0;i--) y=1+a[i]/(1+y);

printf(″%f\n″,y);

}

3.#include <stdio.h>

void main()

{ char ch;FILE *fp1,*fp2;

fp1=fopen(″x1.dat″,″r″);fp2=fopen(″x2.dat″,″w″);

while(!feof(fp1)) {

ch=fgetc(fp1);

if(ch!=' ') fputc(ch,fp2);

}

fclose(fp1);fclose(fp2);

}

使用道具 举报

Rank: 9Rank: 9Rank: 9

9#
发表于 2005-12-31 09:38:57 |只看该作者

第二部分 非选择题(共80分)

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

21.设char a,b;则表达式a/b-′c′的值的类型为 。

22.设int k=-1;执行printf(″%u″,k);后输出的值是 。

23.设for(k=0;k<0;k++)++k;则该循环共执行 次。

24.设int a =1,b=2;经表达式a=a∧b,b=a∧b,a=a∧b运算后a,b的值分别是 。

25.表示空类型的保留字是 。

26.已知程序段:

char *p=″abcdefgh″;p+=4;

printf(″%c\n″,*p++);

运行结果为

27.设

struct student

{ int no;char name[12];

char ***;float score[4];

}stu1;

在程序执行时,系统为stu1分配 个字节的内存空间。

28.写出“n是小于整数m的偶数”的表达式 。

29.字符串″ABCD\t\\\123″的长度是 。

30.设union

{ int b;char a[9];float x;}un;

则变量un所占的字节数是 。

三、程序分析题(本大题共5小题,每小题5分,共25分)

阅读下列程序,将输出结果写到各题右侧的空白处

31.sum(int n)

{

if(n= =1) return(1);

else return n+sum(n-1);

}

main( )

{

printf(″%d\n″,sum(10));

}

32.设从键盘输入282

sub(int n)

{int s=1;

do

{ s*=n%10;n/=10;}

while(n);

return s;

}

main( )

{ int n;

scanf (″%d″,&n);

n=sub(n);

printf(″%d\n″,n);

}

33.#define N 7

#define PRINT for(i=0;i<N;i++)printf(″%5d″,a);printf(″\n″);

main( )

{int i,j,temp,a[N]={1,2,3,4,5,6,7};

PRINT

for(i=0,i<N/2,i++)

{j=N-1-i;temp=a;a=a[j];a[j]=temp;}

PRINT

}

34.int x=30;y=50;

sub(x,y)

{ y=x>y?x:y;

return y;

}

main( )

{

{int x=100;

printf(″%d\n″,sub(x,y));

}

printf(″%d,%d\n″,x,y);

}

35.设文件file1.c的内容为COMPUTER

#include ″stdio.h″

main( )

{ FILE *fp;

char ch;

if((fp=fopen(″file1.c″,″r″))= =NULL)

{ printf(″Cannot open file \n″);

exit(0);

}

while(!feof(fp))

{

ch=fgetc(fp);if(ch>=′A′&&ch<=′Z′)fputc(ch+32,stdout);

}

fclose(fp);

}

使用道具 举报

Rank: 9Rank: 9Rank: 9

8#
发表于 2005-12-31 09:38:33 |只看该作者

第一部分 选择题(共20分)

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.组成C语言程序的是( )

A.过程 B.函数 C.子程序 D.主程序和子程序

2.编译程序的功能是( )

A.将汇编语言程序转换为目标程序 B.将汇编语言程序转换为高级语言程序

C.将高级语言程序转换为目标程序 D.将高级语言程序转换为汇编语言程序

3.C语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是( )

A.自动型 B.寄存器型 C.静态型 D.外部参照型

4.不用第三个变量,将变量a和b的值进行互换的操作是( )

A.a+=b;b-=a;a-=b; B.a+=b;b=a-b;a-=b;

C.b-=a;a-=b;a-=b; D.b-=a;a=b-a;a+=b;

5.自动型变量分配在( )

A.内存的数据区中B.CPU的通用寄存器中 C.内存的程序区中D.内存的堆栈区中

6.下列程序段运行后,x的值是( )

a=1;b=2;x=0;

if(!(--a))x--;

if(!b)x=7;else ++x;

A.0 B.3 C.6 D.7

7.对do-whie语言错误的说法是( )

A.可构成多重循环结构 B.循环次数不可能为0

C.循环次数可能为0 D.先执行后判断

8.设int x=1,a=9,b=6,c=7,d=8;则执行语句:

if(a>b) if(c>d)x=2;else x=3;

后,x的值是( )

A.1 B.2 C.3 D.不确定

9.设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:

printf(″%d″,strlen(strcpy(str1,str2)));

后的输出是(

A.3 B.5 C.8 D.9

10.初始化一维数组a正确的语句是( )

A.int a[10]=(0,0,0,0,0); B.int a[10]={ };

C.int a[ ]={10} ; D.int a[10]={[10*1]};

11.语句int (*p)( );的含义是( )

A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据

B.p是指针变量,指向一个整型数据 C.p是一个指向一维数据的指针变量

D.p是指针函数

12.设int a[10],*p=a;

则对数组元素的正确引用是(

A.a[p] B.p[a] C.*(p+2) D.p+2

13.对于程序段 float f1(int a)

{int b;……}

main( )

{int m,n;

m=f1(n);……}

char f2(int x,int y)

{int a;……}

变量m,n的作用范围是( )

A.整个程序段 B.main函数 C.main函数和f2函数 D.mian函数和f1函数

14.若函数中局部变量的值经函数调用后仍保留,则该局部变量定义为( )

A.自动变量 B.内部变量 C.外部变量 D.静态变量

15.在下列运算符中,优先级最低的是( )

A.! B.· C.( ) D.[ ]

16.对于如下定义的枚举型

enum list1

{x1,x2,x3,x4=6,x5,x6};

枚举常数x2和x6的值分别是( )

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

17.对于文件操作方式″rb+″,准确的说法是( )

A.可读写文本文件 B.只读二进制文件 C.只读文本文件D.可读写二进制文件

18.数据-324在二进制文件和文本文件中所占的字节数分别是( )

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

19.设int a=1,b=2,c=4;

经过表达式(c=a!=b)&&(a= =b)&&(c=b)运算后,a、b和c的值分别是( )

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

20.下列程序的运行结果是( )

#define EVEN(x)x%2= =0?1:0

main( )

{

if(EVEN(9+1)) printf(″is even″);

else printf(″is odd″);

}

A.is even B.出错 C.无结果 D.is odd

使用道具 举报

Rank: 9Rank: 9Rank: 9

7#
发表于 2005-12-31 09:38:18 |只看该作者

一、1.G 2.C 3.A 4.B 5.D 6.A 7.C 8.C 9.A 10.C

11.A 12.C 13.B 14.D 15.B 16.B 17.D 18.B 19.B 20.D

二、21.整型 22.65535 23.0 24.2,1 25.void 26.E 27.31

28.(n%/2==0)&&(n>m) 29.7 30.9

三、31.55 32.32 34.100 35.在显示器上输出:computer

33. 1234567

7654321

四、36.(1)&n (2)n%2 (3) n/2

37.(1)\[2][5] (2)%a[I] (3)b[j]

38.(1)p=a (2)*(*(p+i)+j) (3)pringf(“\n”)

39. main( )

{int i,a;

for(i=0;i>10;i++)

{a=I*10+6;

if(a%/3= =0)prinft(“%5d”,a);}

}

40.#include”ctype.h”

{char a[50];int i=0;

scanf(“%s”,a);

while(a!=’\0’)

{

if(islower(a))prinft(“%c”,toupper(a);

else printf(“c”,tolower(a));

I++;

}

}

41.main( )

{int a[3][4],i,j;

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

scanf(“%d”,&a[j]);

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

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

if(i!=1)printf(“%d\n”,a[j]);

else{if(j!=1)&&(j!=2)printf(“%d\n”,a[j]);}

}

使用道具 举报

Rank: 9Rank: 9Rank: 9

6#
发表于 2005-12-31 09:38:04 |只看该作者

第8章 文件

一、选择题

1、17. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 【 C】

A. 2和2 B. 2和5 C. 5和2 D. 5和5

2、在文件使用方式中,字符串″rb″表示 【 A 】

A. 打开一个已存在的二进制文件,只能读取数据

B. 打开一个文本文件,只能写入数据

C. 打开一个已存在的文本文件,只能读取数据

D. 打开一个二进制文件,只能写入数据

3、数据-35.78在文本文件中占用的字节个数是(C )

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

4、为了向二进制文件尾部增加数据,打开文件的方式应采用(A )

A.″ab″ B.″rb+″ C.″wb″ D.″wb+″

二、填空题

1、C语言程序中对文本文件的存取是以 字节 为单位进行的。

2、判断文本文件是否结束时使用的符号常量EOF的值是—1

第9章 编译预处理与带参数的主函数

一、选择题

1、下列叙述中,正确的是 【 C】

A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致

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

C. 宏替换不占用运行时间,只占编译时间

D. 在程序的一行上可以出现多个有效的宏定义

2、在文件使用方式中,字符串″rb″表示 【 A 】

A. 打开一个已存在的二进制文件,只能读取数据

B. 打开一个文本文件,只能写入数据

C. 打开一个已存在的文本文件,只能读取数据

D. 打开一个二进制文件,只能写入数据

3、执行下列程序

# define F(y) 15>>y

# define PRINT(a) printf(″﹪d″,a)

main()

{

PRINT(F(2));

}

后输出的结果是 【 A】

A. 3 B. 3.5 C. 14 D. 7.5

4、 main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为【B 】

A. int argv; B. char * argv[];

C. char argv[]; D. char ** argv[];

5、若函数能被其它编译单位引用,那么函数定义时的存储类型应选用(C)

A.auto B.static C.extern D.register

6、在下列有关宏替换的叙述中,正确的说法是(D )

A.宏替换占用运行时间 B.宏名有类型

C.带参数的宏替换和函数等价 D.宏替换只是字符替换

7、下列程序的运行结果是(A )

# define A 5

# define B A+1

main( )

{int a;

a=B;

printf(″%d\n″a--);

}

A.6 B.5 C.4 D.出错

二、填空题

1、设有一个名为″myfile.c″的C程序,其主函数为mian(int argc,char *argv[ ])。如果在执行时,输入的命令行为 myfile aa bb ↙则形式参数argc的值是 3

使用道具 举报

Rank: 9Rank: 9Rank: 9

5#
发表于 2005-12-31 09:37:49 |只看该作者

第7章 结构型共用型和枚举型

一、选择题

1、设有定义语句

struct

{int a;float b;} d[3]={{1,4},{2,5},{6,7}};

则printf(″﹪3.1f \ n″,d[2]. a * d[2]. b/d[1]. b);的输出是 【 D 】

A. 2.5 B. 2.0 C. 8.0 D. 8.4

2、设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;

则枚举常量a2和a3的值分别为 【 D】

A. 1和2材 B. 2和3 C. 7和2 D. 7和8

3、下列定义正确的是( D )

A.anum t={a,b}x; B.enum t{1,2}x; C.anum {′+′,′-′}x; D.enum t{a,b}x;

4、设有定义:union u{int a[4];float b[3]}; char c[16];}aa;

则printf(″%d\n″,sizeof(aa));的输出是( B)

A.32 B.16 C.12 D.8

二、填空题

1、设struct student

{int no;char name[12];

float score[3];

{s1,*p=&s1;.

用指针变量p给s1的成员no赋值1234的方法是 p—>no=1234;或(*p).no=1234。

三、程序分析题

1、 struct porb

{char * name;

int count;

}x[]={″Li ning″,19,″Lang ping″,21,″Zhu jian hua″,20};

main()

{int i;

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

printf(″﹪s: ﹪d \ n″,x.name,x.count);

}

答:li ming:19

Lang ping:21

Zhu jian hua:20

2、main()

{union

{short a;char ch;

}M;

M.a = 100;M.ch =′A′;

printf(″﹪d,﹪d,﹪c \n″,sizeof(M),M.a,M.ch);

}

答:2,6 5,a

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

自考论坛导航|湖北自考网论坛   

GMT+8, 2024-5-23 15:03 , Processed in 0.033143 second(s), 11 queries .

Powered by 湖北自考网论坛 X2

© 2001-2017 湖北自考论坛

回顶部