C语言程序设计试题及答案3篇【优秀范文】

时间:2022-12-30 13:35:04  来源:网友投稿

C语言程序设计试题及答案1  1[单选题]若有语句:inta[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是()。  A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o下面是小编为大家整理的C语言程序设计试题及答案3篇【优秀范文】,供大家参考。

C语言程序设计试题及答案3篇【优秀范文】

C语言程序设计试题及答案1

  1[单选题] 若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是()。

  A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

  B.P+1代表a[1][0]的地址

  C.P中将存放a数组的首地址

  D.P+2代表a数组最后一行的首地址

  参考答案:A

  参考解析:(+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。

  2[单选题] 以下叙述中正确的是()

  A.在算法设计时,可以把复杂任务分解成一些简单的子任务

  B.在C语言程序设计中,所有函数必须保存在一个源文件中

  C.只要包含了三种基本结构的算法就是结构化程序

  D.结构化程序必须包含所有的三种基本结构.缺一不可

  参考答案:A

  参考解析:C语言的程序中,函数不一定都放在同一个源文件中,可以分别放在不同源文件中,通过#inClude命令来引用,所以B错误。结构化程序可以包含三种基本结构中的一种或几种,所以C,D错误。

  3[单选题] 有三个关系R、S和T如下:

  则由关系R和S得到关系T的操作是( )。

  A.自然连接 B.交 C.除 D.并

  参考答案:C

  参考解析:如果S=T/R,则s称为T除以R的商。在除运算中s的域由T中那些不出现在R中的域所组成,对于s中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C2017年计算机二级C语言练习题及答案2017年计算机二级C语言练习题及答案。

  4[单选题] 以下叙述错误的是( )。

  A.一个算法所包含的操作步骤应该是有限的

  B.任何能通过编译和运行的算法都一定能得到所期望的结果

  C.算法中每一条指令必须有确切的含义

  D.算法可以用各种描述方法来进行描述

  参考答案:B

  参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)。可知选项A,c,D正确。c语言中。通过编译,可以运行的程序,不一定符合题目的本意,因此即使可以运行得到结果,也不一定和预期的结果一样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。

  5[单选题] 设有定义:

  int a=1,b=2,C=3;

  以下语句中执行效果与其他三个不同的是( )。

  A.if(a>B.C=a,a=b,b=C;

  B.if(a>B.{C=a,a=b,b=C;}

  C.if(a>B.C=a;a=b;b=c;

  D.if(a>B.{C=a;a=b;b=c;}

  参考答案:C

  参考解析:由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择c选项。

  6[单选题] 以下叙述中正确的是

  A.两个字符串可以用关系运算符进行大小比较

  B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)

  C.C语言本身没有提供对字符串进行整体操作的运算符

  D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

  参考答案:C

  参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。

  7[单选题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

  A.一对一 B.一对多 C.多对多 D.多对一

  参考答案:C

  参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

  8[单选题] 对于while(!E)s;,若要执行循环体s,则E的取值应为:

  A.E等于1 B.E不等于0 C.E不等于1 D.E等于0

  参考答案:D

  参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。

  9[单选题] 在软件设计中不使用的工具是( )。

  A.系统结构图 B.PAD图 C.数据流图(DFD图) D.程序流程图

  参考答案:C

  参考解析:系统结构图是对软件系统结构的总体设计的图形显示2017年计算机二级C语言练习题及答案计算机等级。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的

  PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。

  10[单选题] 若有定义语句:char a="\82";则变量a()

  A.说明不合法 B.包含1个字符 C.包含2个字符 D.包含3个字符

  参考答案:B

  参考解析:char a="\82",定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为"2"。因此B选项正确。


C语言程序设计试题及答案3篇扩展阅读


C语言程序设计试题及答案3篇(扩展1)

——C语言程序设计模拟试题及答案3篇

C语言程序设计模拟试题及答案1

  一、填空题

  1、C语言中基本的数据类型有:______、______ 、______ .

  2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .

  3、整数-35在机内的补码表示为______.

  4、执行下列语句int a=8; a+=a-=a*a;后,a的值是______.

  5、有如下语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]=______.

  6、符号“a”和‘a’的区别是______.

  7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.

  8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_a=1,b=3,c=2__.

  一、填空题

  (1)整型、实型、字符型。

  (2)int,2,-32768~ +32767

  (3)1111111111011101

  (4)- 112

  (5)14,‘m’

  (6)“a”是字符串常量,而‘a’是字符常量。

  (7)存放地址值的变量或常量,或者答地址。

  (8)取运算对象的.地址。取指针变量所指的内容。a=1,b=3,c=2

  二、选择题

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

  A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a>3?2:1

  2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( C )组成配对关系。

  A. 缩排位置相同的if B. 在其之前未配对的if

  C. 在其之前未配对的最近的if D.同一行上的if

  3、以下程序的输出结果是( D )。

  int x=10,y=10;

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

  A. 10 10 B. 9 9 C. 9 10 D. 10 9

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

  A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i

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

  A. hot_do B. cat1 C. _pri D. 2ab

  6、以下程序的输出结果是( B )。

  int a=5; float x=3.14; a*=x*(‘E’ - ‘A’); printf(“%f\n”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 62

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

  A. N个指向double型变量的指针。

  B. 指向N个double型变量的函数指针。

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

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

  8、在C程序中有如下语句:char *func(int x,int y);它是( C )。

  A. 对函数func的定义。 B. 对函数func的调用。

  C.对函数func的原型说明。 D. 不合法的。

  9、以下程序的输出结果是( D )。

  char str[15]=“hello!”;

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

  A. 15 B. 14 C. 7 D. 6

  10、分析以下程序的输出结果是( A )。

  main()

  {int a=5,b=-1,c;

  c=adds(a,b);

  printf(“%d”,c);

  c=adds(a,b);

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

  int adds(int x,int y)

  {static int m=0,n=3;

  n*=++m;

  m=n%x+y++;

  return(m); }

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

  11、下列描述中不正确的是( C )。

  A. 字符型数组中可能存放字符串。

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

  C. 可以对整型数组进行整体输入、输出。

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

  12、以下程序的输出结果是( A )。

  #define f(x) x*x

  main()

  {int a=6,b=2,c;

  c=f(a)/f(b);

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

  }

  A. 9 B. 6 C. 36 D. 18

  13、设有如下定义: int x=10,y=3,z;

  则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是( D )。 A. 1 B. 0 C. 4 D. 3 14、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]);的输出结果是( C )。 A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9

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

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

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

  16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( C )。 int x;

  scanf(“%d”,&x);

  if(x++>5) printf(“%d”,x);

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

  A. 7和5 B. 6和3 C. 7和4 D. 6和4

  17、设有如下定义: char *aa[2]={“abcd”,“ABCD”};则以下说法中正确的是( D )。

  A)aa数组成元素的值分别是“abcd”和ABCD“

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

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

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

  ?18、下列程序的输出结果是( D )。

  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

  19、下列程序的输出结果是( C )。 int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf(“%d”,*(p++)); printf(“%d\n”,* *k); A. 4 4 B. 2 2 C. 2 4 D. 4 6

  20、不能把字符串:Hello!赋给数组b的语句是( B )。

  A. char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};

  B. char b[10]; b=“Hello!”;

  C. char b[10]; strcpy(b,“Hello!”);

  D. char b[10]=“Hello!”;


C语言程序设计试题及答案3篇(扩展2)

——C语言程序设计期末试题及答案3篇

C语言程序设计期末试题及答案1

  1.以下程序输出结果是( )

  main()

  { int m=5;

  if(m++>5) printf("%d\n",m);

  else printf("%d\n",m--);

  A)7 B)6 C)5 D)4

  2以下程序的输出结果为( )

  # include

  main ( )

  { int i=0, j=0, a=6;

  if ((++i>0)&&(++j>0)) a++;

  printf ("i=%d, j=%d, a=%d\n", i,j,a);}

  A) i=0, j=0, a=6 B) i=1, j=1, a=7

  C) i=1, j=0, a=7 D) i=0, j=1, a=7

  3有如下程序

  main()

  { int a=2,b=-1,c=2;

  if(a

  if(b<0) c=0;

  else c++;

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

  }

  该程序的输出结果是( )

  A) 0 B) 1 C) 2 D) 3

  4若i为int型,且有程序如下,则输出结果是( )

  i=111;

  if(i%3==0)

  printf("####");

  printf("****");

  A) #### B) **** C) ####**** D) 无输出结果

  5若运行时x=12,则运行结果为( )

  {int x, y;

  scanf("%d", &x);

  y=x>12 ? x+10:x-12;

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

  A) 0 B) 22 C) 12 D) 10

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

  main()

  { int i=0, j=0, k=6;

  if ((++i>0)||(++j>0)) k++;

  printf("%d, %d, %d\n", i, j, k);

  }

  A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7

  7若变量都已正确说明,则以下程序段输出为( )

  int a=1,b=2,c=3;

  if(a>b)

  a=b;

  b=c;

  c=a;

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

  A)a=1 b=2 c=1 B)a=1 b=2 c=3

  C)a=1 b=3 c=1 D)a=2 b=3 c=2

  8当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )

  if(a

  if(c

  else

  if(a

  if(b

  else x=3;

  else x=6;

  else x=7;

  A) 1 B)2 C)3 D)6

  9以下不正确的语句为( )

  A)if(x>y);

  B)if(x==y)&&(x!=0)x+=y;

  C)if(x!=y)scanf("%d",&x);else scanf("%d",&y);

  D)if(x

  10有以下程序:

  #include"stdio.h"

  main( )

  {char i;

  for (; (i=getchar ())!="\n";)

  {switch (i-"a")

  {case 0: putchar (i);

  case 1: putchar (i+1);break;

  case 2: putchar (i+2);

  case 3: break;

  default: putchar (i);break;

  }

  }

  printf ("\n");

  }

  输入下列数据后,程序的输出结果是( )

  abcde

  A) abcde B) abcee

  C) abbde D) abccdd

  11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( )

  A) switch(a+b); B) switch(a*a+b*b)

  { case 1:y=a+b; break; {case 3:

  case 0:y=a-b; break; case 1:y=a+b;break;

  } case 3:y=b-a,break;

  }

  C) switch a D) switch(a-b)

  { case 1 :y=a-b; break {

  case 2: x=a*d; break case c1:case 4:x=a+b;break;

  default:x=a+b; case c2:case 11:y=a-b;break;

  } default:y=a*b;break;

  }

  12写出下面程序输出结果( )

  {int x=1, y=0, a=0, b=0;

  switch(x)

  {case 1:

  switch(y)

  {case 0: a++;

  case 1: b++; }

  case 2: a++; b++;

  }

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

  }

  A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2

  13C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式

  均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。

  A) < B) ++ C) ; D) ,

  14下面有关for循环的正确描述是( )。

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

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

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

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

  15以下程序段( )。

  x=-1;

  do

  { x=x*x;}

  while(!x)

  A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误

  16如下的数组中,数组array占用的内存空间是( )个字节。

  char array[]={"c","h","i","n","a"};

  A. 1 B. 5 C. 6 D. 不确定

  17设有程序段

  int k=10;

  while(k=0) k=k-1;

  则下面描述正确的是( )。

  A) while 循环执行10次 B) 循环是无限循环

  C) 循环体语句一次也不执行 D) 循环体语句执行一次

  18下列程序段的运行结果是( )

  int n=0;

  while(n++<3);

  printf("%d",n)

  A. 2 B. 3 C. 4 D. 以上都不对

  19设有程序段

  t=0;

  while(printf("*"));

  { t++;

  if (t<3) break;

  }

  下面描述正确的是( )。

  A) 其中循环控制表达式与0等价 B) 其中循环控制表达式与"0"等价

  C) 其中循环控制表达式是不合法的 D) 以上说法都不对

  20下面程序的运行结果是( )。

  #include

  main()

  { int y=10;

  do { y--;} while(--y);

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

  }

  A) -1 B) 1 C) 8 D) 0

  21以下程序段的输出结果是( ).

  main()

  { int i=5;

  for ( ;i<=15; )

  { i++;

  if (i%4==0) printf("%d ",i);

  else continue;}

  }

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

  22以下不是无限循环的语句为( )。

  A) for(y=0,x=1;x>++y;x=i++) i=x;

  B) for( ; ;x++=i);

  C) while(1){x++;}

  D) for(i=10; ; i--) sum+=i;

  23有如下语句

  int x=3;

  do

  { printf("%d\n",x-=2);} while(!(--x));

  则上面程序段( )

  A. 输出的是1 B. 输出的是1和-2

  C. 输出的是3和0 D. 是死循环

  24以下不是无限循环的是( )

  A. for(y=0,x=1;x>++y;x=i++) i=x;

  B. for( ; ;x++=i);

  C. while(1) x++;

  D. for(i=10; ;i--) s+=i;

  25以下正确的描述是( )。

  A) continue语句的作用是结束整个循环的执行

  B) 只能在循环体内和switch语句内使用break语句

  C) 在循环体内使用break语句或continue语句的作用相同

  D) 从多层循环嵌套中退出时,只能使用goto语句

  26以下程序输出结果为( )

  #include "stdio.h"

  main()

  {int i,b,k=0;

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

  { b=i%2;

  while (b-->=0) k++;}

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

  }

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

  27以下程序段中循环体总的执行次数是( )

  int i,j;

  for(i=7;i;i--)

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

  {......}

  A) 42 B) 21 C) 13 D) 36

  28以下不正确的描述是( )

  A. break 语句不能用于循环语句和switch语句外的任何其他语句

  B. 在switch语句中使用break语句或continue语句的作用相同

  C. 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行

  D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

  1else语句总是和靠它最近的if匹配。

  2switch语句中一定有default分支

  3case后只能跟常量,不能跟变量

  4break语句的作用就是结束本层循环。

  5do-while语句构成的循环不能用其它语句构成的循环来代替。

  6用do-while语句构成循环时,只要while后的表达式为0时就结束循环。

  7for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。

  8for循环中,如果表达式2为空,则该循环一定是死循环。

  9while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。

  10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。

C语言程序设计期末试题及答案2

  1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分)

  A.switch(x)

  {

  case 1.0: printf("* ");

  case 2.0 printf("** ");

  }

  B.switch((int)x)

  {

  case 1.0: printf("* ");

  case 2.0 printf("** ");

  }

  C.switch(a+b)

  {

  case 1: printf("* ");

  case 2+1: printf("** ");

  }

  D.switch(a+b)

  {

  case 1: printf("* ")

  case c: printf("** ");

  }

  标准答案:C

  2. 若有宏定义如下:

  #define X 5

  #define Y X+1

  #define Z Y*X/2

  则执行以下printf语句后,输出的结果是( )

  int a; a=Y;

  printf("%d ",Z);

  printf("%d",--a); (2分)

  A.7,6 B.12,6 C.12,5 D.7,5

  标准答案:D

  3. 下面的符号常量定义中,正确的是 ( ) (2分)

  A.#define PI 3.14; B.#include PI 3.14;

  C.#define PI=3.14 D.#define PI 3.14

  标准答案:D

  4. 以下程序的输出结果是( )

  int a, b;

  void fun()

  { a=100; b=200; }

  main()

  { int a=5, b=7;

  fun();

  printf("%d%d ", a,b);

  } (2分)

  A.100200 B.57 C.200100 D.75

  标准答案:D

  5. 若有以下调用语句,则不正确的fun函数的首部是( )

  main()

  { …

  int a[50],n;

  …

  fun(n, &a[9]);

  …

  } (2分)

  A.void fun(int m, int x[])

  B.void fun(int s, int h[41])

  C.void fun(int p, int *s)

  D.void fun(int n, int a)

  标准答案:D

  6. 以下程序的输出结果是( )

  fun(int x, int y, int z)

  { z=x*x+y*y; }

  main()

  { int a=31;

  fun(5,2,a);

  printf("%d",a);

  } (2分)

  A.0 B.29 C.31 D.无定值

  标准答案:C

  7. 以下只有在使用时才为该类型变量分配内存的存储类说明是( ) (2分)

  A.auto和static B.auto和register

  C.register和static D.extern和register

  标准答案:B

  8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( ) (2分)

  A.地址传递

  B.单向值传递

  C.由实参传给形参,再由形参传回实参

  D.传递方式由用户指定

  标准答案:B

  9. 以下函数值的类型是( )

  fun ( float x )

  { float y;

  y= 3*x-4;

  return y;

  } (2分)

  A.int B.不确定 C.void D.float

  标准答案:A

  10. C语言规定函数的返回值的类型是由( ) (2分)

  A.return语句中表达式类型决定

  B.调用该函数时的主调函数类型决定

  C.调用该函数时系统临时决定

  D.在定义该函数时所指定的函数类型决定

  标准答案:D


C语言程序设计试题及答案3篇(扩展3)

——C语言程序设计期末复习试题及答案3篇

C语言程序设计期末复习试题及答案1

  1以下符号中不能用作用户标识符的符号是( )。

  A)_256 B)void

  C)scanf D)Struct

  2下面四个选项中,均是合法浮点数的选项是( )。

  A) +1e+1 B) -.60 C) 123e D) -e3

  5e-9.4 12e-4 1.2e-.4 .8e-4

  03e2 -8e5 +2e-1 5.e-0

  3下面四个选项中,均是正确的八进制或十六进制数的选项是( )。

  A) -1a B)0abc C)0010 D)0a12

  0x8f -017 0x11 -0x123

  -011 0xc 0xf1 -0xa

  4以下选项中,为C语言合法的关键字是( )。

  A)swicth B)cher C)Case D)default

  5C语言提供的合法的数据类型关键字是( )。

  A)Double B)short C)integer D)Char

  6下列标识符组中,合法的用户标识符为( )。

  A)b-b与abc

  B)*与float

  C)hiy与

  D) isw与INT

  7 属于合法的C 语言长整型常量的是( )。

  A)5876273 B)0L C)2E10 D)(Long)5876273若int类型数据占两个字节,下8列程序的输出结果是( )。

  main()

  {

  int k=-1;

  printf("%d,%un",k,k);

  }

  A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535

  9设已定义x为double类型变量

  x=213.82631;

  printf("%-6.2e\n",x);

  则以上语句( )。

  A)输出格式描述符的域宽不够,不能输出 B)输出为21.38e+01

  C)输出为2.14e+02 D)输出为-2.14e2

  10执行x=5>1+2&&2||2*4<4 - !0后,X的值为( )。

  A) -1 B) 0 C) +1 D) 5

  11设ch是字符变量,其值为A,且有下面的表达式ch=!(ch>="A"&&ch<="z")?ch:(ch+32)则表达式的值是 ( )

  A) A B) a C) 2 D) z

  12设ch是char型变量,其值为Z,且有下面的表达式,其值为( )。

  ch=(ch>="A"&&ch<="Z")?(ch+32):ch

  A) A B) a C) Z D) z

  13以下的`变量定义中,合法的是( )。

  A)float 3_four = 3.4 ; B)int _abc_= 2 ;

  C)double a = 1 + 4e2.0 D)short do =15;

  14若有int k = 11;则表达式(k++ * 1/3)的值是( )。

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

  15逻辑运算符两侧运算对象的数据类型是 ( )。

  A) 只是0或1 B)只能是0或非0正数

  C) 只能是整型或字符型数据 D) 可以是任何类型数据

  16下列表达式的值,那一个等于0 ( )。

  A) 5%6 B) 5/6 C) 5/6.0 D) 5 - 6

  17以下正确的叙述是( )。

  A)在C程序中,每行只能写一条语句

  B)若 a 是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

  C)在C程序中,无论是整数还是实数,都能被准确无误地表示

  D)在C程序中,%是只能用于整数运算的运算符

  18以下不正确的语句(设有int p,q)是( )。

  A)p*=3; B)p/=q; C)p+=3; D)p&&=q;

  19如果a=1,b=2,c=3,d=4,则条件表达式a

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

  20设Int n=2;则++n+1= =4的结果是( )。

  A)true B)false C)1 D)0


C语言程序设计试题及答案3篇(扩展4)

——c语言程序设计的实验报告3篇

c语言程序设计的实验报告1

  一、实验目的:

  1、掌握C语言的数据类型和变量的声明。

  2、掌握不同类型数据之间赋值的规律。

  3、掌握C语言的运算符和表达式的使用。

  4、熟悉C程序的编辑、编译、连接和运行的过程。

  二、实验内容:

  ①输人程序: #includevoid main{ int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1="a";c2="b"; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }

  ②运行此程序并分析结果

  按习题4. 8要求编写程序 题目为: 设圆半径r=l. 5,圆柱*=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

  程序:

  三、实验步骤:

  ①输人程序:

  #include

  void main{ int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1="a";c2="b"; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }

  ②运行此程序并分析结果。

  预计结果:

  a=61,b=62

  c1=a,c2=b

  d=``3.56,e=`-6.87

  f=````3157.890121,g=```````0.123456

  m=50000,n=-60000

  p=32768,q=40000(`代表空格)

  结果:

  g的输出看来是四舍五入了。

  ③在此基础上,将程序第9~14行改为:

  a=61;b=62;

  c1=a;c2=b;

  f=3157.890121;g=0.123456789;

  d=f;e=g;

  p=a=m=50000;q=b=n=-60000;

  运行程序,分析结果。

  p=a=m=50000;q=b=n=-60000;这两条语句将p、a、m的值和q、b、n的值都重新赋了相应的新值。除m、n外都是整型、无符号整型或字符型,因此输出会按数据类型强制截取,因此得到的值会不尽相同,但可以从理论上做出推测,但由于编译系统的不同,真正得到的结果也可能不尽相同。

  ④改用scanf函数输人数据而不用赋值语句,scanf函数如下:

  scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,%p,%q);

  输入的数据如下:

  分析运行结果。

  (说明:lf和ld格式符分别用于输人double型和long型数据)

  ⑤在④的基础上将printf语句改为:

  printf("a=%d,b=%d c1=%c,c2=%c d=%15.6f,e=%15.6f ",a,b,c1,c2,d,e);

  printf("f=%f,g=%f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q);

  运行程序:

  ⑥将p、q改用%o格式符输出。

  ⑦将scanf函数中的%1f和%ld改为%f和%d,运行程序并观察分析结果。

  出现错误,提示为:浮点错误:超出范围。程序异常中止。 (2)按习题4. 8要求编写程序

  题目为:

  设圆半径r=l. 5,圆柱*=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。 用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。 程序:

  #include

  void main

  {

  float h,r,s,sq,vq,vz;

  float pi=3.1415926;

  printf("Please input the circinal r, and the cylindrical h:");

  scanf("%f,%f",&r,&h);

  l=2xpixr;

  sq=4xpixrxr;

  vq=4.0/3.0xpixrxrxr;

  vz=pixrxrxh;

  printf("circinal girth is: l=%6.2f ",l);

  printf("circinal area is: s=%6.2f ",s);

  printf("sphere surface area is: sq=%6.2f ",sq);

  printf("sphere cubage is: vq=%6.2f ",vq);

  printf("cylindrical cubage is: vz=%6.2f ",vz);

  }

  编程序,用getchar函数读人两个字符给c1 ,c2,然后分别用putchar函数和printf输出这两个字符。 上机运行程序,比较用printf和putchar函数输出字符的特点。 程序如下: #includevoid main{ char c1,c2; printf("Please input tow letters: "); c1=get); c2=get); printf("Putchar is: "); putc1); putc2); printf(" "); printf("Printf is: "); printf("%c %c ",c1,c2);

  }

  可见有putchar输出的结果是一个字符一个字符顺序输出的。每个putchar函数只能输出一个字符,且只能输出字符,而printf可以输出多个数据,且为任意类

  四、实验心得(体会):

  通过本次C语言上机实验,我对顺序结构程序设计有了一定的了解。通过几个例题,我对顺序结构中scanf和printf语句的基本实用情况有了一定的理解。我相信这些都为后来的编程打下基础。对C语言学习,我会更加努力。


C语言程序设计试题及答案3篇(扩展5)

——c语言程序设计实训总结3篇

c语言程序设计实训总结1

  一、充分准备,使学生明确实训的目的与要求

  本次实训的目的是要求学生通过熟练运用Turbo C 2.0的开发环境,以所掌握的C语言知识为基础,围绕本次安排的实训项目,精心准备,认真调试,通过查阅资料、通过阅读相关程序代码、通过多次上机调试、通过同学们相互讨论,使学生对C语言程序设计有一个全面的了解,从而能更加系统地理解C语言基础知识。

  本次实训的要求是:教师要认真给参与实训的学生分好组,注意成绩好坏的搭配。同时,实训前公布本次实训内容,要求每个学生认真做好实训前的准备,查阅相关资料,精心编写代码。各组学生独立完成实训项目,独立撰写实训报告,认真及时进行实训总结。指导教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩。教师在实训期间要检查学生到课情况,及时调整指定的分组角色。

  二、 精心组织,认真做好项目实训

  对教师方面,本次实训要求教师每节实训课必须到场。教师必须清点学生到场情况并做好出勤记录,在有学生缺席的情况下调整好角色分配。同时要求教师必须把实训内容具体分配到课时,并提供相关内容供学生下载。教师通过登陆教师后台管理系统对学生的实训过程进行跟踪指导、审核管理、进行批改,并给出考核成绩;对学生方面,本次实训实训考评分合格与不合格两个档次。不合格的可要求重做,重做的次数不影响考评成绩。对复制的同学,一经发现,要求从头做起, 由老师指定内容, 完成相关的内容, 否则为不合格。

  三、 本次实训的"效果与经验

  通过此次实训,广大同学夯实了基础,锻炼了能力,综合素质得到较大提高。同时实训也为推动我系专业建设提供了丰富的经验。

  1、本次实训促进了我系人才培养计划的完善和课程设置的调整。近年来,我系为适应学生的实践需要陆续增设与调整了一系列课程,如开源系列,受到同学们的欢迎。

  2、本次实训促进了学生自身的发展。实训项目使学生初步接触C语言,熟悉了C程序设计过程,培养了他们的环境适应能力及发现问题、分析问题、解决问题的实际工作能力,为他们今后的发展打下了良好的基础。

  四、存在的问题

  实训过程中发现存在下列问题:一是学生素质参差不齐,基本功扎实的学生可以很快地完成本次实训项目,差的学生基本上还没有入门,更别谈开发一个项目了,如何提高学生的整体素质,是今后教学中值得考虑的问题。二是机房部分微机运行状态不太好,一些经常死机,一些同学辛辛苦苦编写的代码由于没有及时存盘,由于死机又得重新做,学生中有一些怨言,建议学校及时更换一些、淘汰一些过时的微机,加大对微机的维护。

  总之,我系的专业实训经过几年的开展,积累了较丰富的经验,从系领导到任课教师对此都十分重视,实训组织工作周密细致,日常管理及时而有效,对存在问题能迅速解决。实践证明,专业实训适应高职学生的特点,符合高职教学规律与学生心理预期。专业实训作为计算机各专业教学体系的一个环节,无论对学生成才还是对教学开展,都有极大的促进作用。


C语言程序设计试题及答案3篇(扩展6)

——java语言程序设计于静著课后答案3篇

java语言程序设计于静著课后答案1

  ☞☞☞点击此处阅读☞☞☞java语言程序设计(于静著)课后答案

java语言程序设计于静著课后答案2

  本书是学习Java语言的入门教材。全书从Java语言的"基本特点入手,详细介绍了Java语言的基本概念和编程方法,同时深入介绍了Java的高级特性。

  本书共分为12章,涉及Java中的基本数据类型、基本语法、类的概念及特性、异常处理、用户界面设计、小应用程序、输入/输出操作及线程等内容。


C语言程序设计试题及答案3篇(扩展7)

——二级c语言公共基础知识试题及答案3篇

二级c语言公共基础知识试题及答案1

  (1) 算法的复杂度主要包括______复杂度和空间复杂度。

  答:时间

  (2) 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。

  答:模式#逻辑模式#概念模式

  (3) 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。

  答:黑盒

  (4) 如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。

  答:一对多#1:N#1:n

  (5) 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。

  答:投影

  (6) 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。

  答:中序

  (7) 结构化程序设计方法的`主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。

  答:模块化

  (8) 软件的调试方法主要有:强行排错法、______和原因排除法。

  答:回溯法

  (9) 数据库系统的三级模式分别为______模式、内部级模式与外部级模式。

  答:概念#概念级

  (10) 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。

  答:数据存储来源


C语言程序设计试题及答案3篇(扩展8)

——C程序设计第三版(谭浩强)课后答案-WORD版 免费下载

C程序设计第三版(谭浩强)课后答案-WORD版 免费下载1

  C程序设计第三版(谭浩强)课后答案_WORD版

推荐访问:试题 答案 语言程序设计 C语言程序设计试题及答案3篇 c语言程序设计试题及答案1 c语言程序设计试题及答案解析