C语言程序设计(专科)温习题

小微 科技C语言程序设计(专科)温习题已关闭评论106字数 6685阅读模式
摘要《C语言程序设计》一、选择题:1.以下不是C语言的特点的是A.C语言简洁、紧凑 B.能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作 D.C语言移植性好2. 以下不正确的...

《C语言程序设计》

一、选择题:文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

1.下列不是C语言的特色的是文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

A.C语言简洁、紧凑 B.能够编制出功能繁杂的程序文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

C. C语言可以直接对硬件进行操作 D.C语言移植性好文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

2. 下列不正确的C语言标识符是。文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

A.ABC B.abc C.a_bc D.ab.c文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

3.一个c程序的执行是从.文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

A.main函数开始,直到main函数收场文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

B.第一个函数开始,直到最后一个函数收场文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

C.第一个语句开始,直到最后一个语句收场文章源自微观生活(93wg.com)微观生活-https://93wg.com/2599.html

D.main函数开始,直到最后一个函数收场

4.下列不正确的语句是。

A.P*=3; B.p/=q; C.p十=3; D.p&&=q

5.以下四组选项中,均不是C语言关键字的选项是.

A.define B.getc C.include D.while

if char sanf go

type printf case pow

6.下面四个选项中,均是合法整形常量的选项是.

A.160 B.-0xcdf C.-01 D.-0x48a

-0xffff 01a 986,012 2e5

011 0xe 0668 0x

7. 下面四个选项中,均是不合法浮点数的选项是.

A.160. B.123 C.-.18 D.-e3

0.12 2e4.2 123e4 0.234

e3 .e5 0.0 1e3

8. 若有代数式3ae/bc,则不正确的C语言表达式是

A.a/b/c*e*3 B.3*a*e/b/c

C.3*a*e/b*c D.a*e/c/b*3

9. 若下列变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为.

A.7 B.8 C.9 D.10

10.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*%2/4的值是。

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

11. sizeof是。

A.一个双精度型表达式 B. 一个整型表达式

C.一种函数调用 D. 一个不合法的表达式

12. 设int n=3;则n十十的结果是。

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

13. 设有说明: char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为。

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

14. 若x,y均定义为int型,z定义为double型,下列不合法的scanf函数调用语句是.

A. scanf;

B. scanf;

C. scanf;

D. scanf;

15. 下列说法正确的是.

A. 输入项可以为一个实型常量,如scanf;

B. 只有格式节制,没有输入项,也能进行正确输入,如scanf;

C. 当输入一个实型数据时,格式节制部份应规定小数点后的位数,如scanf;

D. 当输入数据时,必需指明变量的地址,如scanf;

16. 下列程序的执行结果是。

include<stdio.h>

main

{

char c1=&39;,C2=&39;;

printf;

A.A,Y B.65,65 C.65,90 D.65,89

18. 为了不嵌套的if-else语句的二义性,c语言规定else老是与组成配对关系。

A.缩排位置相同的if

B.在其以前末配对的if

C.在其以前未配对的最近的if

D.同一行上的if

19. 逻辑运算符双侧运算对象的数据类型.

A.能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

20. 设x、y以及z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是.

A.’x’&&’y’

B.x<=y

C. x||y+z&&y-z

D.!&&!z ||1)

21. 若但愿当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则下列不能知足请求的表达式是.

A.A%2==1 B.! C.! D.A%2

22. 下列不正确的if语句情势是.

A.if;

B.ifx十=y;

C.ifscanf e1se scanf;

D.if{x十十;y十十;}

23. 下列if语句语法正确的是.

A.if

printf

else printf;

B.if

{x=x+y;printf;}

else printf

C.if

{x=x+y;printf;}

else printf

D.if

{x=x+y;printf;}

else printf

else printf;

24. 浏览下列程序

main

{int a=5,b=0,c=0;

if printf;

else printf;

}

以上程序 .

A.语法有错不能通过编译 B.可以通过编译但不能通过连接

C.输出*** D.输出$$

25. 下列程序运行结果是.

main

{int a=100,x=10,y=20,ok1=5,ok2=0;

if

if

If

a=1;

else

if a=10;

a=-1;

printf;

}

A.1 B.0 c.-1 D.不肯定

26. 执行下列程序段后,变量a,b,c得值分别是.

int x=10,y=9;

int a,b,c;

a=? –x: ++y;

b=x++;

c=y;

A.a=9,b=9,c=9 B.a=8,b=8,c=10

C.a=9,b=10,c=9 D.a=1,b=11,c=10

27. 若w,x,y,z,m均为int型变量,则执行下面语句后的m值是.

w=1; x=2; y=3; z=4;

m=? w:x;

m=? m:y;

m=? m:z;

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

28. 语句while;中的前提!e等价于。

A.e==0 B.e!=1 C.e!=0 D.~e

29. 下面有关for循环的正确描写是

A.for循环只能用于循环次数已经肯定的情况

B.for循环是先执行循环体语句,后断定表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环体语句中,可以包括多条语句,但要用花括号括起来

30. C语言中while以及do-while循环的主要区分是.

A.do-while的循环体至少无前提执行一次

B.while的循环节制前提比的循环节制前提严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句

31.下列程序段.

x=-1; do{x=x*x;} while;

A.是死循环 B.循环执行二次

C. 循环执行二次 D.有语法过错

32. 下面程序的运行结果是.

define MIN <?:

main

{int i=10,j+15,k;

k+10*MIN;

printf;

}

A.10 B.15 C.100 D.150

46. C语言的编译系统对宏命令的处理是( )。

A.在程序运行时进行的

B.在程序连接时进行的

C.以及C程序中的其它语句同时进行编译的

D.在对源程序中的其它语句同时进行编译的

47. 请读程序

defineMUL*y

main

{int a=3,b=4,c;

c=MUL;

printf;

}

上面程序的输出结果是( )。

A.12 B.15 C.20 D.16

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

defineS PT*x*x

main

{inta=1,b=2;

printf);

}

A.12.0 B.9.5 C.12.5 D.33.5

49. 在“文件包括”预处理语句的使用情势中,当”标识的节制行都是预处理指令

D.C语言的编译预处理就是对源程序进行初步的语法检查

51. 设p1以及p2是指向同一个字符串的指针变量,c为字符变量,则下列不能正确执行的赋值语句是;

52. 设有下面的程序段:

chat s[]=”china”; char *p; p=s;

则以下叙述正确的是

{

char *p1,*p2,str[50]=”abc”;

p1=”abc”; p2=”abc”;

strcpy);

printf;

}

A. abcabcabc B.bcabcabc C. aabcabc D.cabcabc

54. 若有定义:int a[2][3];则对数组a的第i行第j列(假定i,j已正确说明并赋值)元数值的正确引用为+j) B.[j] C.* D.*+j

55. 若有定义:int (*p)[4];则标识符p.

A.各成员所需内存量的总以及

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

58. C语言结构体类型变量在程序执行期间( ).

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部份成员驻留在内存中

D.没有成员驻留在内存中

59. 下列对C语言中共用体类型数据的叙述正确的是( )。

A.可以对共用体变量名直接赋值

B.一个共用体变量中可以同时寄存其所有成员

C.一个共用体变量中不可能同时寄存其所有成员

D.共用体类型定义中不能呈现结构体类型的成员

60. C语言共用体型变量在程序运行期间 ( ) 。

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部份成员驻留在内存中

D.没有成员驻留在内存中

61. 请读程序片断:

int x=20;

printf;

上面程序片断的输出结果是.

A.02

B.–20

C.-21

D.-11

62. 在位运算中,操作数每一左移一名,其结果至关于.

A.操作数乘以2

B.操作数除了以2

C.操作数除了以4

D.操作数乘以4

63. 系统的标准输入文件是指。

A. 键盘 B .显示器 C .软盘 D. 硬盘

64. 当顺利执行了文件关闭操作时,fclose函数的返回值是。

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

65. 已知函数的调用情势:fread;其中buffer代表的是 。

A .一个整形变量,代表要读入的数据项总数

B .一个文件指针,指向要读的文件

C .一个指针,指向要读入数据的寄存地址

D.一个存储区,寄存要读的数据项

二、填空题:

1. C程序的基本单位是 。

2. 表达式10%3的结果是 。

3. 假定所有变量均为整型,则表达式的值为 。

4. 在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为 ;

5.C语言所提供的基本数据类型包含: 。

6.表达式pow)) 值的数据类型为 。

7.下列程序的执行结果是 。

include<stdio.h>

main

{

float f=31.41592;

printf

}

9. 下列程序的执行结果是 。

include<stdio.h>

f

{int i=0;

while

{printf;

i++;}

}

main

{int a[]={1,5,10,9,11,7};

f;

}

21. 设有下列宏定义:#define WIDTH 80

define EXCH {int t;t=a;a=b; b=t;}

main

{int x=5,Y=9;

EXCH;

printf;

}

24. 下面程序段的运行结果是 。

char s[80], *sp=”HELLO!”;

sp=strcpy;

s[0]=’h’;

puts;

25. 下面程序段的运行结果是 。

char s1=”AbcdEf”,s2=”aB”;

s1++;

t=>0);

print

26. 下面程序段的运行结果是 。

char *p=”PDP1-0”;

int I,d;

for

{d=isdigit);

if printf);

}

27. 当运行下列程序时,从键盘输入 book<CR>

book <CR>

,则下面程序段运行的结果是 。

char a1[80],a2[80],*s1=a1,*s2=a2;

gets;gets;

if) printf:

else printf;

printf));

28. 若已定义:

struct num

{int a;

int b;

float f;

} n={1,3,5.0};

struct num * pn = &n;

则表达式 .a+pn->f的值是 。

29. 在C语言中,&运算符作为双目运算符时表示的是 运算.

30. 在C语言中,文件的存取是以字符为单位的,这类文件被称作 文件。

三、编程题:

1.将一个字符串的内容倒置过来。

2. 求整形数组的最大值。

3. 求字符串的长度(不用strlen)。

4. 编写程序,将字符串str中的所有字符’k’删除了。

5.找出二维数组的鞍点,即该位置上的元素是该行上的最大值,是该列上的最小值。二维数组也可能没有鞍点。

6.a是一个2*4的整型数组,且各元素均已赋值.函数max_value可求出其中的最大元素值max,并将此值返回主调函数.今有函数调用语句max=max_value;请编写max_value函数.

7. 设计函数,实现字符串联接操作(不使用strcat)。

8. 下列程序的功能是利用下面的近似公式计算e的n次方.函数f1用来计算每一项份子的值,函数f2用来计算每一项分母的值.请编写f1以及f2函数.

ex=1=x=x2\\2!+x3\\3!…

9. 从键盘上输入若干个学生的成就,计算出平均成就,并输出不及格的成就以及人数。

10.设计函数,在二维数组中发生如下情势的扬辉三角形。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

······

11. 回文是从前向后以及从后向前读起来都同样的句子。写一个函数,判断一个字符串是不是为回文,注意处理字符串中有中文也有西文的情况。

12.约瑟夫环问题:编号为1,2,3,···,n的n个人按顺时针方向围坐一圈,每一人持有一个正整数密码。一开始任选一个正整数m作为报数上限值,从第一个人开始按顺时针报数,报到m时休止,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始从新从1报数,如斯下去,直到所有人全体出列为止。设计程序求出出列顺序。

参考谜底

一、选择题

1. B 2.D 3.A 4.D 5.A 6.A 7.B 8.C 9.A 10.A 11.B 12.B 13.D 14.D 15.D 16.A 17.D 18.C 19.D 20.D 21.C 22.C 23.B 24.D 25.C 26.B 27.A 28.A 29.D 30.A 31.C 32.B 33.B 34.D 35.C 36.D 37.C 38.D 39.B 40.B 41.B 42.A 43.A 44.A 45.B 46.D 47.A 48.B 49.C 50.C 51.B 52.D 53.C 54.A 55.C 56.C 57.A 58.A 59.C 60.B 61.C 62.A 63.A 64.C 65.C

二、填空题

1.函数 2. 1 3. 9 4. 4 5.单精度型、双精度型、整型、字符型以及枚举型 6.双精度型 7.3.500000,3.5 8. 31.415920,3.14159e+01 9.end 10.非0的数字 11.1 12.c!=&39; 13.36 14.3 15.3 16.5 17.i*m+j+i 18.按行主顺序寄存 19.函数说明部份以及函数体 20.5 10 9 21.2400 22.12 23.x=8,y=5 24.hELLO!

25.1 26.1*0* 27.include <stdio.h>

include <stdio.h>

int max

{ int i,mx;

mx=a[0];

for

if mx=a[i];

return mx;

}

main

{ int a[8]={23,4,6,12,33,55,2,45};

printf);

}

3.解:参考程序如下:

include <stdio.h>

void delchar

{ int i,j;

for

if

str[j++]=str[i];

str[j]=&39;;

}

main

{ char str[80];

int i,j;

gets;

delchar;

puts;

}

5.解:依鞍点定义,对数组每一行元素循环,找到当前行上最大元素,记下所在的列号,再判断此元素是不是为对应列的最小元素。将寻觅打印数组鞍点的操作定义为函数,如果没有鞍点,函数返回-1。参考程序如下:

define N 10

include <stdio.h>

void scat

{ int i,j;

for ;

for

s1[i++]=s2[j];

s1[i]=&39;;

}

main

{ char s1[80]=&34;;

char s2[10]=&34;;

scat;

printf;

}

8. ex=1=x=x2\\2!+x3\\3!…

float f2

{ }

float f1

{ }

main

{ float exp=1.0;int n,x;

printf’

scanf; printf;

exp=exp+x;

for exp=exp+f1/f2;

printf=%8.4f\\n”,x,exp)’

}

运行结果:Input a number:3

The is exp=20.0855

float f2

{ifreturn1;

else return*n);

}

float f1

{int I; float j=1;

forj=j*x;

return j;

}

9.解:用输入负数表示输入收场。参考程序如下:

include <stdio.h>

include <stdio.h>

include <stdio.h>

#define N 100

main

{ int a[100];

int i,j,m,n,k=0;

printf;

scanf;

printf;

for

scanf;

printf;

for

{ j=1;

while

{ while /*跳过已出列的人*/

k=%n;

j++;

k=%n;

}

while /*跳过已出列的人*/

k=%n;

printf;

m=a[k]; a[k]=0;

}

}

四、翻译题

1.(对这类人)我的确既感到快活而又

以上就是微观生活(93wg.com)关于“C语言程序设计(专科)温习题”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/2599.html