Tclub-SCTC
Would you like to react to this message? Create an account in a few clicks or log in to continue.

向下
Taoch2007
Taoch2007
Admin
帖子数 : 70
注册日期 : 20-03-04
年龄 : 16
https://space.bilibili.com/403473563

C-Answer(2023.04.19期中) Empty C-Answer(2023.04.19期中)

2023-04-19, 19:36
例:以下叙述中正确的是(   C  )。
A)C语言程序总是从第一个定义的函数开始执行。
B)在C语言程序中,要调用的函数必须在main( )函数中定义
C)C语言程序总是从main()函数开始执行。
D)C语言程序中的main()函数必须放在程序的开始部分。

例:每个C语句必须以___;______号结束。

例:在C程序中,可以作为用户标识符的一组标识符是( B  )
A)void     define                 B)as_b3   _224   Else
C)Switch   -wer    case           D)4b   DO  SIG

例:下列不合法的用户标识符是( D )
A)PRINTF    B)Main       C)file       D)xyz.c

例:在C语言中,合法的长整型常量是( A )
A)10L   B)4946740    C)0.05462754    D)2.1436e10
例:不合法的八进制数是(  B  )
A) 0          B) 028            C) 077          D)01
例:数值120用C语言八进制表示是(  C   )
A)96 B)960 C)170 D)15

2. 实型:小数形式,如4.6,-1.23等;
b.指数形式(浮点数):用E或e代替数学表示中的10。如123.45和1.2*10-9可表示为1.2345e2和1.2e-9
c.单精度浮点数:在浮点数后加f或F,如3.141592F,不加默认。
d.双精度浮点数:在浮点数后加d或D,如3.14159d。
例:下列选项中不正确的实型常量是( B  )
A)7.375E-1    B)0.3108e 2    C)-44.44    D)123e-2

例:在C语言中,下列合法的字符常量是( B )
A)’\039’      B)’\x76’      C)’ab’        D)“\0”

’a‘和“a”在内存中均占2个字节。 ( ×)

例:已知字母a的ASCII码为97,则执行下列语句后输出为( C  )
char a=’a’;
a--;
printf(“%d,%c”,a+2,a+3);
A)a,c B)a--运算不合法,故有语法错误 
C)98,c D)格式描述和输出项不匹配,输出无定值

例:若a是int 型变量,则执行表达式a=25/3%3后a 的值为____2_____。
例:表达式3.5+1/2的计算结果是____3.5___。
例:在C语言中,要求参加运算的数必须是整数的运算符是( A )
A)%   B)/       C)!      D)*

例:若a为int整型变量且赋值10。运算a++后表达式的值__10___,变量a的值___11___。

例:当a=3,b=2,c=1时,表达式f=a>b>c的值是(A  )
A)0 B)1 C)-1 D)2

例:判断,C语言中,非0值作为真,0作为假。( √ )
例:条件“10<x<20或x>100”的C语言表达式是   x>10&&x<20||x>100   。
例:若有定义语句 “ int a=25,b=14,c=19;”,以下语句的执行结果是___26,13,19______。
if(a++<=25&&b--<=2&&c++)
printf(“***a=%d,b=%d,c=%d\n”,a,b,c);
else      
 printf(“###a=%d,b=%d,c=%d\n”,a,b,c);

例:执行下面程序中输出语句后,a的值是( B  )
int a;
printf(“%d\n”,(a=4*5 ,a*4 ,a+5));
A)85 B)20 C)15 D)10

例:定义int n=5;下面语句的输出结果为(  B   )。
printf(n%2 ? “AAA”:”BBB”);
A)无输出          B)AAA              C)BBB       D)AAABBB

例:若有C语言已正确定义并赋值,符合C语言语法的表达式是( B  )
A)a=a+7;        B)a=7+b+c, a++  
C)int(12.3%4)    D)a=a+7=c+b
例:设a,b和c都是int 型变量,且a=3,b=4,c=5;则以下表达式中,值为0的表达式是
(   D   )
A)a&&b               B)a<=b    
C)a||b+c&&b-c        D)!((a<b)&&!c||1)
例:下列运算符中优先级最低的是(   A     )
A) ||       B) !=       C)<=      D) +

例:经char w; int x; float y; double z;说明后表达式 w*x+z-y的类型是(   D  )。
A) float      B) char       C) int        D) double
例:判断,确保表达式n/2的值为float型,可写成float(n/2) ( × )

例:以下程序段,其输出结果是(  C  )
float a=3.1415;
printf(“|%6.0f|\n”,a);
A)|3.1415|       B)|3.0|       C)|     3|      D)|3.|
例:以下程序段的输出结果是(  C  )
int a=1234;
printf(“%2d\n”,a);
A) 12       B) 34       C) 1234     D) 提示出错

例:scanf ( )函数的地址表列是用( B )符号加上变量名表示变量的地址。
A)% B)& C)# D)!
例:若变量已正确说明为float类型,要通过输入语句:scanf(“%f %f %f “,&a,&b,&c);给a赋予10.0 ,b赋予22.0 ,c赋予33.0 以下不正确的输入形式是(  B   )
A)10              B)10.0,22.0,33.0
22 
33
C)10.0              D)10 22
22.0 33.0            33

例:下列程序运行时从键盘上输入9876543210<CR>(表示回车),则输出结果是:
__A=98,B=765,C=4321.000000__。
main()
{ int A,B;floatC;
 scanf(“%2d%3d%4f”,&A,&B,&C);
 printf (“\nA=%d,B=%d,C=%f\n”,A,B,C);
}

例:main()
 { float a,b,t;
scanf(“%f,%f”,&a,&b);
if(a>b)
{  t=a;  a=b;  b=t;  }
printf( “ %5.2f,%5.2f ”,a,b);
  }
运行时从键盘输入3.8,-3.4,则正确的输出结果是( B )
A)-3.40, -3.80       B)-3.40, 3.80      
C)-3.4,  3.8 D) 3.80,-3.40

例:以下程序的输出结果为(    A  )
#include<stdio.h>
 main()
{ int a,b,c;
 a=10; b=50; c=30;
 if(a>b)
{a=b;b=c;}
  c=a;
  printf(“a=%d,b=%d,c=%d”,a,b,c);
 }
A) a=10,b=50,c=10           B) a=10,b=30,c=10
 C)a=50,b=30,c=10            D)a=50,b=30,c=50

例:以下程序的运行结果是(  C   )
 #include<stdio.h>
 main()
 { int x=4;
if (x++>5)
   printf(“%d\n”,x);
else
   printf(“%d\n”,x--);
}
A)3      B) 4      C)5      D)6

例:对下述程序,(  A   )是正确的判断。
 #include<stdio.h>
  main()
  { int x,y;
scanf(“%d,%d”,&x,&y);
if(x>y)
  x=y; y=x;
else
  x++; y++;
printf(“%d,%d”,x,y);
}
A)有语法错误,不能通过编译   B)若输入数据3和4,则输出4和5
C)若输入数据4和3,则输出3和4    D)若输入数据4和3,则输出4和4

例:补全下面给出的部分程序。已知函数所表示的数学函数关系是:
     -1(x<0)
y=  0  (x=0)
    1  (x>0)
main()
{ int x,y;
 scanf(“x=%d”,  ①___); &x
 if(x<0)y=-1;
 else if(  ②___) y=0;  x==0
 else    ③___;  y=1
 printf(“y=%d\n”,y);
}
例:编写程序,输出两个数中的大数:
解法1:
#include<stdio.h>
main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d%d",&a,&b);
if(a>b)
 printf("max=%d\n",a);    /*如果a>b,则直接输出a*/
else
 printf("max=%d\n",b);     /*否则,输出b*/
}

例:编写程序,输出三个数中的最大数。
#include <stdio.h>  
main(  )  
{
 int a,b,c,max;    
 printf("输入三个整数a,b,c:");  
 scanf("%d,%d,%d”,&a,&b,&c");
if(a>b)          /*比较前两个数的大小*/
    max=a;       /*如果a>b,将a的值保存到max变量中*/
 else          
    max=b;       /*否则,将b的值保存到max变量中 */
 if(max<c)  /*如果max<c,将c的值存放到max变量中,保证最后max中存放*/
    max=c;  /*的是三个数的最大值。*/
 printf("3个整数中的最大数是%d",max);  /*输出max的值*/
}
例:编写程序,输入整数a和b,如果a 的平方加上b的平方大于100,则按从大到小顺序输出这两个数,否则输出两数之和。(画出流程图,再写代码)
#include"stdio.h"
main()
{
int a,b;
printf("输入a和b两个整数:\n");
scanf("%d%d",&a,&b);
if(a*a+b*b>100)
 if(a>b) printf("从大到小为:%d,%d\n",a,b);
 else printf("从大到小为:%d,%d\n",b,a);
   else printf("两数之和为%d\n",a+b);
}

例:编写程序,输入三个整数a,b,c,要求按从小到大顺序排列输出。
#include<stdio.h>
main( )
{   int a,b,c,t;               /*定义三个整数变量和一个中间变量*/
printf("请输入a,b,c:");       /*输出提示文字*/
scanf("%d%d%d",&a,&b,&c);
if(a>b){t=a;a=b;b=t;}   /*如果a>b,则a与b互换*/
if(a>c){t=a;a=c;c=t;}     /*如果a>c,则a与c互换*/
if(b>c){t=b;b=c;c=t;}     /*如果b>c,则b与c互换*/
printf("%d,%d,%d",a,b,c);   /*按从小到大的顺序输出*/
}
例:编写程序,判断一个年份是否是闰年。
#include<stdio.h>
main()
{  int year;
 printf("input year:\n");
 scanf("%d",&year);
 if((year%4==0&&year%100!=0)||year%400==0)
    /*year满足两个条件之一的就是闰年*/
      printf("%d是闰年!",year);
 else
      printf("%d不是闰年!",year);
}
例:编写程序,用多分支if语句实现由键盘输入一个成绩,输出该成绩的等级。其中90~100分为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格。如果成绩不在0~100之间则输出错误信息。
#include "stdio.h"
void main()
{
  float  score;
  printf("请输入一个分数(0-100):");
  scanf("%f",&score);
  if(score>=0&&score<=100)
  {  if(score>=90)                 /*当分数在90-100之间*/
       printf("%.2f的等级是优秀!\n",score);
     else if(score>=80)            /*当分数在80-89之间*/
       printf("%.2f的等级是良好!\n",score);
     else if(score>=70)            /*当分数在70-79之间*/
       printf("%.2f的等级是中等!\n",score);
     else if(score>=60)            /*当分数在60-69之间*/
       printf("%.2f的等级是及格!\n",score);
     else                          /*当分数低于60时*/
       printf("%.2f的等级是不及格!\n",score);
  }
  else                             /*当输入分数不在0-100之间时*/
     printf("分数错误,应在0-100之间!\n");
}

例:下面程序的输出结果是____2___。
main()
{int a=2,b=-1,c=2;;
if(a<b)
if(b<0)c=0;
else c++;
printf(“%d\n”,c);
}
例:阅读下面的程序:
 #include<stdio.h>
 main()
 {   int x,y;
    scanf (“%d”,&x);
    y=0;
    if(x>=0)
   { if(x>0) y=1;}
    else   y= -1;
    printf(“%d”,y);
 }
 当从键盘输入32时,程序输出结果为(   C    )
 A)0        B)-1         C)1         D)不确定值

例:如下程序的输出结果是(  D  )
int x=1,a=0,b=0 ;
switch(x)
{ case  0: b++;
case  1: a++ ;
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
例:通过键盘输入任意一个成绩,成绩大于90的输出“优秀”,成绩在80到89之间的输出“良好”,成绩在60到79之间输出“及格”,否则输出“不及格”。
#include <stdio.h>   /*请看清题目中的成绩等级划分的界限*/
main()
{int grade;
printf("输入成绩:");
scanf("%d",&grade);
if(grade>=0&&grade<=100)
{ grade=grade/10;
switch(grade)
 {case 10:
case 9:printf("等级为A");break;
case 8:printf("等级为B");break;
case 7:printf("等级为C");break;
case 6:printf("等级为D");break;
default:printf("等级为E");break;
}
else printf(“input error!”)}
}
例:下列程序段用于判定某年的某月有多少天。假设变量year,month,day已正确定义,
分别表示“年”、“月”、“日”。请补全程序段。
switch(  ①___) month
{case 1:case 3:case 5:case 7:case 8:case 10:case 12:day=31;   ②___;break
  case 4:case 6:case 9:case 11:day=30;break;
case 2:if(   ③_ _) day=29;year%4==0&&year%100!=0||year%400==0
else day=28;


由Taoch2007于2023-06-04, 19:16进行了最后一次编辑,总共编辑了1次
Taoch2007
Taoch2007
Admin
帖子数 : 70
注册日期 : 20-03-04
年龄 : 16
https://space.bilibili.com/403473563

C-Answer(2023.04.19期中) Empty 回复: C-Answer(2023.04.19期中)

2023-04-19, 19:42
例:下列循环的输出结果是__987___。
int n=10;
while(n>7)
{n--;printf(“%d”,n); }
例:补全程序。编程求1 2 3…… 99 100。
#include<stdio.h>
main()
{int i=1;
___①_____ p=1; double
do
{____②_____; p=p*i或p*=i
i++;}
while(___③_____); i<=100
printf("p=%lf",p);
}

例:判断,do {……} while(0); 程序块至少会执行一次。 ( )

执行。
例:for循环中的三个表达式可以省略,三个都可以不写,括号里可以空着。(错)
例:for循环中的表达式1只会执行一次。(对)
例:下述for循环语句( B )
int i,k;
for(i=0,k=-1;i=1;i++,k++)
printf(“****”);
A) 判断循环结束的条件非法
B)是无限循环
C)只循环一次
D)一次也不循环
例:以下程序的输出结果是( A )
main( )
{ int i,sum=0;
for(i=1;i<6;i++)
sum+=i;
printf(“%d\n”,sum);
}
A)15 B)14 C)不确定 D)0

例:在下述程序中,判断i>j 共执行了____次,s的值为____。( D )
main()
{ int i=0,j=10,k=2,s=0;
for(;Wink
{ i+=k;
if(i>j)
{ printf(“%d”,s);
break;
}
s+=i;
}
}
A) 4,6 B)7,20 C) 5,42 D)6,30
2.continue语句是终止_本次循环________的执行。break语句是退出__ switch ____结构或退出___当前___循环。
答案:
3. 以下程序的输出结果是( A )
main()
{ int y=10;
for(;y>0;y--)
{if(y%3==0)
continue;
printf(“%d”,--y); }
}
A)9741 B)852
C)96 D)8754321
4. 以下程序段的输出结果是( A )
main()
{ int i;
for(i=1;i<=5;i++)
{ if(i%2) printf(“*”); /*i%2相当于i%2!=0*/
else continue;
printf("#");
}
printf("$\n");
}
A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$
例:设计一个程序,用for循环语句实现1~100中所有奇数的和。
#include "stdio.h"
void main()
{
int sum=0,i; /* sum的初值为0 */
for(i=1;i<100;i+=2) /* 当i小于100时执行循环体 */
sum+=i; /* 将当前的i值加到sum中 */
printf("1+3+…+99=%d",sum);
}
例:从0开始输出n个连续的偶数,其中,n由键盘指定。
方法1:#include<stdio.h>
main()
{ int i=1,a=0,n;
/*a为循环变量,n存放数字的个数*/
printf("input n:");
scanf("%d",&n);
/*输出的是偶数*/
for(;i<=n;i++)
{printf("%d ",a);
a+=2;}
}
方法2:
#include<stdio.h>
main()
{ int a,n;
/*a为循环变量,n存放数字的个数*/
printf("input n:");
scanf("%d",&n);
for(a=0;a<n;a++)
/*输出的是偶数*/
printf("%d",2*a);
}
例:计算并打印半径从1到10的圆面积,直到圆面积大于100为止。
#include<stdio.h>
#define pi 3.1416
main()
{int r;float area;
for(r=1;r<10;r++)
{
area=pi*r*r;
if(area>100) break;
printf(“r=%d area=%f\n",r,area);}
}

返回页首
您在这个论坛的权限:
不能在这个论坛回复主题