C语言程序设计.docx

上传人:b****4 文档编号:6158689 上传时间:2023-05-09 格式:DOCX 页数:34 大小:29.77KB
下载 相关 举报
C语言程序设计.docx_第1页
第1页 / 共34页
C语言程序设计.docx_第2页
第2页 / 共34页
C语言程序设计.docx_第3页
第3页 / 共34页
C语言程序设计.docx_第4页
第4页 / 共34页
C语言程序设计.docx_第5页
第5页 / 共34页
C语言程序设计.docx_第6页
第6页 / 共34页
C语言程序设计.docx_第7页
第7页 / 共34页
C语言程序设计.docx_第8页
第8页 / 共34页
C语言程序设计.docx_第9页
第9页 / 共34页
C语言程序设计.docx_第10页
第10页 / 共34页
C语言程序设计.docx_第11页
第11页 / 共34页
C语言程序设计.docx_第12页
第12页 / 共34页
C语言程序设计.docx_第13页
第13页 / 共34页
C语言程序设计.docx_第14页
第14页 / 共34页
C语言程序设计.docx_第15页
第15页 / 共34页
C语言程序设计.docx_第16页
第16页 / 共34页
C语言程序设计.docx_第17页
第17页 / 共34页
C语言程序设计.docx_第18页
第18页 / 共34页
C语言程序设计.docx_第19页
第19页 / 共34页
C语言程序设计.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计.docx

《C语言程序设计.docx》由会员分享,可在线阅读,更多相关《C语言程序设计.docx(34页珍藏版)》请在冰点文库上搜索。

C语言程序设计.docx

C语言程序设计

C语言程序设计

1.单项选择题(60道)

(1)以下关于C语言程序的说法中正确的为()。

a)计算机不能直接执行b)计算机能直接执行

c)编辑好就可以执行d)编译好就可以执行

(2)以下不属于C语言特点的为()。

a)简洁b)运算符丰富c)具有结构化的控制语句d)语法限制严格。

(3)C语言的程序必须包含()。

a)语句b)变量声明c)函数d)宏定义

(4)以下不属于算法特点的为()。

a)有穷性b)无穷性c)有效性d)确定性

(5)算法的三种基本结构除了顺序结构、选择结构外,还有()。

a)循环结构b)递归结构c)调用结构d)跳转结构

(6)在下列关于C语言常量的说法中正确的为()。

a)没有数据类型b)有数据类型c)必须有名字d)不能输出

(7)在下列关于C语言变量的说法中正确的为()。

a)必须先定义后使用b)不必先定义后使用

c)只能在函数外修改变量的值d)只能在函数内修改变量的值

(8)以下属于整型常量不正确写法的为()。

a)123b)0123c)0x123d)1,230

(9)以下关于整型量所占内存字节数的正确说法为()。

a)所有的整型量都占2个字节

b)基本整型量占2个字节,长整型量占4个字节

c)C语言标准没有规定整型量占多少个字节

d)使用sizeof可以确定整型量占几个字节

(10)以下正确声明整型变量的为()。

a)int1x,2x,3x;b)intx1,x2,x3;c)int1x,int2x,int3x;d)intx1,intx2,intx3;

(11)以下关于实数类型常量的说法中,正确的为()。

a)实数类型常量只能用小数形式表示

b)实数类型常量只能用指数形式

c)实数类型常量既可以用小数形式表示,也可以用指数形式表示

d)1.0不是实数类型常量,而是整数类型常量

(12)以下属于实型常量不正确写法的为()。

a)0.123b)1.23e-1c).123d)123e2

(13)下列不合法的字符常量为()。

a)‘a’b)‘\n’c)“a”d)‘\\’

(14)假设一个字符类型的量占一个字节,则字符串“abc”所占的字节数为()

a)1b)2c)3d)4

(15)设整型变量a为5,使b不为2的表达式是(    )。

     a)b=a/2   b)b=6-(--a)   c)b=a%2   d)b=a>3?

2:

1

(16)设有说明double(*p1)[N];其中标识符p1是(    )。

   a)N个指向double型变量的指针。

   b)   指向N个double型变量的函数指针。

   c)一个指向由N个double型元素组成的一维数组的指针。

   d)具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

(17)以下程序的输出结果是(    )。

   charstr[15]=”hello!

”;

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

      a)15        b)14         c)7          d)6

(18)选出下列标识符中不是合法的标识符的是(    )。

 a)hot_do     b)cat1      c)_pri        d)2ab

(19)为了避免嵌套的条件分支语句if-else的二义性,C语言规定:

C程序中的else总是与(    )组成配对关系。

a)缩排位置相同的if                  b)在其之前未配对的if

c)在其之前未配对的最近的if    d)同一行上的if

(20)以下程序的输出结果是(     )。

  intx=10,y=10; 

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

    a)10 10     b)9  9     c)9  10    d)10  9

(21)设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为(    )。

a)P+i*2      b) P+(i-1)*2     c)P+(i-1)      d) P+i

(22)以下程序的输出结果是(    )。

  inta=5;

floatx=3.14;

a*=x*(‘E’-‘A’);

printf(“%f\n”,(float)a);

 a)62.000000    b)62.800000     c)63.000000    d)62

(23)下列描述中不正确的是(    )。

a)字符型数组中可能存放字符串。

b)可以对字符型数组进行整体输入、输出。

c)可以对整型数组进行整体输入、输出。

d)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

(24)设有如下定义:

intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y));的输出结果是(    )。

a)1     b)0      c)4       d)3

(25)定义如下变量和数组:

inti;intx[3][3]={1,2,3,4,5,6,7,8,9};

则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]);的输出结果是(    )。

a)1 5 9          b)1 4 7      c)3 5 7         d)3 6 9

(26)以下对二维数组a进行正确初始化的是(    )

a)inta[2][3]={{1,2},{3,4},{5,6}};         b)inta[][3]={1,2,3,4,5,6};

c)inta[2][]={1,2,3,4,5,6};               d)inta[2][]={{1,2},{3,4}};

(27)设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下说法中正确的是(   )。

a)aa数组成元素的值分别是"abcd"和ABCD"

b)aa是指针变量,它指向含有两个数组元素的字符型一维数组

c)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

d)aa数组的两个元素中各自存放了字符'a'和'A'的地址

(28)下列程序的输出结果是(    )。

char*p1="abcd",*p2="ABCD",str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

a)xyabcAB       b)abcABz      c)ABabcz      d)xycdBCD

(29)下列程序的输出结果是(    )。

inta[5]={2,4,6,8,10},*P,**k;

p=a; k=&p;

printf("%d",*(p++));

printf("%d\n",**k);

a)44         b)22       c)24        d)46

(30)不能把字符串:

Hello!

赋给数组b的语句是(    )。

a)charb[10]={'H','e','l','l','o','!

'};           b)charb[10]; b="Hello!

";

c)charb[10]; strcpy(b,"Hello!

");          d)charb[10]="Hello!

";

(31)以下选项中属于C语言的数据类型是(    )。

a)复合型       b)双精度型        c)逻辑型       d)集合型

(32)以下说法中正确的是(    )。

a)C语言程序总是从第一个的函数开始执行

b)在C语言程序中,要调用的函数必须在main()函数中定义

c)C语言程序总是从main()函数开始执行

d)C语言程序中的main()函数必须放在程序的开始部分

(33)下列描述中不正确的是(    )。

a)字符型数组中可能存放字符串。

b)可以对字符型数组进行整体输入、输出。

c)可以对整型数组进行整体输入、输出。

d)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

(34)若已定义:

inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为(    )。

a)p+1         b)a+1         c)a++       d)++p

(35)设有如下定义:

intx=10,y=3,z;

则语句printf("%d\n",z=(x%y,x/y));的输出结果是(    )。

a)1     b)0      c)4       d)3

(36)定义如下变量和数组:

inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句

for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是(    )

a)1 5 9       b)1 4 7       c)3 5 7         d)3 6 9

(37)以下语句的输出结果是(     )。

   intx=10,y=10;

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

  a)10 10     b)9  9     c)9  10    d)10 9

(38)以下语句的输出结果是(    )。

inta=-1,b=4,k;

k=(++a<0)&&!

(b--<=0);

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

a)1,0,4      b)1,0,3      c)0,0,3     d)0,0,4

(39)下列程序的输出结果是(    )。

char *p1="abcd", *p2="ABCD", str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

a)xyabcAB       b)abcABz      c)ABabcz      d)xycdBCD

(40)执行下面的程序后,a的值是(    )。

#defineSQR(X)X*X

main()

{inta=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

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

}

a)10      b)1      c)9      d)0

(41)表达式:

10!

=9的值是(    )。

a)true    b)非零值    c)0     d)1

(42)若有说明:

inti,j=7,*p=&i;,则与i=j;等价的语句是(    )。

a)i=*p;    b)*p=*&j;    c)i=&j;    d)i=**p;

(43)在C程序中有如下语句:

char*func(intx,inty);它是(    )。

  a)对函数func的定义。

       b)对函数func的调用。

  c)对函数func的原型说明。

  d)不合法的。

(44)设intx=1,y=1;表达式(!

x++||y--)的值是()。

a)0    b)1      c)2    d)-1

(45)main()

 { intn;

    (n=6*4,n+6),n*2;

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

}  

此程序的输出结果是()。

 a)30   b) 24    c) 60     d)48

(46)若有如下定义,则()是对数组元素的正确的引用。

  int a[10],*p;

  p=a;  p=a;  p=a;  p=a;

  a) *&a[10]    b) a[11]     c) *(p+10)     d)*p

(47)设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是()。

  a) 0    b) 4   c) -4    d) 2

(48)以下不能正确定义二维数组的语句是()。

   a)inta[2][2]={{1},{2}};    b)inta[][2]={1,2,3,4};

   c)inta[2][2]={{1},2,3};     d)inta[2][]={{1,2},{3,4}};

(49)程序段()的功能是将变量u、s中的最大值赋给变量t。

       a) if(u>s)t=u;t=s;      b) t=u;  if(t) t=s;

     c) if(u>s)t=s;elset=u;   d) t=s;if(u) t=u;

(50)下列程序段的输出结果是          。

voidmain()

{  intk;

for(k=1;k<5;k++)

{if(k%2!

=0)  

printf("#");

else  

printf(“*”); 

}

}

a)#*#*     b)*#*#   c) ##      d)以上都不对

(51)设变量定义为inta[3]={1,4,7},*p=&a[2],则*p的值是()。

   a)&a[2]   b)4      c)7      d)1

(52)能正确表示a和b同时为正或同时为负的逻辑表达式是()。

a)a>=0||b>=0)&&(a<0||b<0)     b)(a>=0&&b>=0)&&(a<0&&b<0)

c)(a+b>0)&&(a+b<=0)           d)a*b>0

(53)若变量c为char类型,能正确判断出c为小写字母的表达式是()。

a)’a’<=c<=’z’            b)(c>=’a’)||(c<=’z’)

c)(‘a’<=c)and(‘z’>=c)     d)(c>=’a’)&&(c<=’z’)

(54)设有定义:

longx=-123456L;则以下能够正确输出变量x值的语句是()。

a)printf(“x=%d\n”,x)        b)printf(“x=%ld\n”,x)

c)printf(“x=%8dl\n”,x)       d)printf(“x=%LD\n”,x);

(55)下列关于指针定义的描述,()是错误的。

   a)指针是一种变量,该变量用来存放某个变量的地址值的。

 b)指针变量的类型与它所指向的变量类型一致。

 c)指针变量的命名规则与标识符相同。

 d)在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。

(56)C语言中以追加方式打开一个文件应选择()参数。

  a)“r”                 b)“w”

  c)“rb”              d)“a”

(57)Break语句的正确的用法是(   )。

   a)无论在任何情况下,都中断程序的执行,退出到系统下一层。

 b)在多重循环中,只能退出最靠近的那一层循环语句。

   c)跳出多重循环。

   d)只能修改控制变量。

(58)在函数中默认存储类型说明符的变量应该是()存储类型。

 a)内部静态   b)外部     c)自动         d)寄存器

(59)C语言用()表示逻辑“真”值。

   a)true  b)t或y  c)非零  d)0

(60)运算符()的优先级最高。

        a)[]    b)+=      c)?

:

    d)++

2.填空题(60道)

(1)实型变量的类型说明符有:

__________、____________。

(2)表达式7+8>2&&25%5的结果是_______________________。

(3)C语言中数组的下标下限为___________________________。

(4)数组int a[3][4];共定义了____________个数组元素。

(5)在C语言程序设计中,正确的标识符是由____________________组成的。

(6)设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。

(7)一个变量的指针是指_____________________________________________。

(8)能够构成一个数组,其元素满足的特点是__________________________________,,构成结构体的成员可以是_________________________________________。

(9)运算符 < % ++ = 按照优先级从高到低排列顺序为______________。

(10)C程序中符号/*……*/所起作用是_________________________。

(11)写出下面表达式的值

    3*5/7+7%3____________________x=2;y=4;(x++)+y_____________________

    3+4>=7-10_____________________3>4?

3%2:

1     ___________________

    x=2,y=2;++x||++y_______________x=3; x+=x-=2   _____________________

(12)在C语言程序中,对文件进行操作首先要______________________________;然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失。

(13)对字符串进行操作的函数有_________________________________________________等。

(14)设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。

(15)以下程序运行后的输出结果是_________。

该程序的功能是_________。

main()

{int x=10,y=20,t=0;

if(x!

=y)t=x;x=y;y=t;

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

}

(16)若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:

fp=fopen(                    );。

(17)下面程序是计算10个整数中奇数的和及其偶数的和,请填空。

#include

main()

{  inta,b,c,i;

a=c=0;

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

  { scanf(“%d”,&b);canf(“%d”,&b);

                        _________;

_________;

_________;

                       }

printf("偶数的和=%d\n",a);

printf("奇数的和=%d\n",c);

}

(18)下面程序的功能是:

输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。

#Include<stdio.h>

main()

{  inti,j;

for(i=1;____________;i++)

if(________________)

printf("%d",j);              }

(19)在内存中存储“A”要占用____________个字节,存储‘A’要占用___________字节。

(20)符号常量的定义方法是________________。

(21)能表述“20

(22)结构化程序设计方法规定程序或程序段的结构有三种:

顺序结构、________________和________________。

(23)C语言共提供了三种用于实现循环结构的流程控制语句,它们是____________、____________和____________。

(24)设有定义语句“staticinta[3][4]={{1},{2},{3}}”,则a[1][1]值为____________,a[2][1]的值为____________。

(25)用{}把一些语句括起来称为____________语句。

(26)C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以____________代表“真”。

(27)C语言中的实型变量分为两种类型,它们是____________和____________。

(28)C语言中的标识符只能由三种字符组成,它们是____________、____________和____________。

(29)若有定义:

charc=’\010’;则变量c中包含的字符个数是____________。

(30)C语言提供的三种逻辑运算符是_________、_________、_________。

(31)设y为int型变量,请写出描述“y是奇数”的表达式____________。

(32)在C语言中,二维数组元素在内存中的存放顺序是____________。

(33)若自定义函数要求返回一个值,则应在该函数体中有一条____________语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符____________。

(34)函数中的形参和调用时的实参都是数组名时,传递方式为____________,都是变量时,传递方式为____________。

(35)C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。

(3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2