C语言基础练习

C语言基础练习,第1张

一.选择

1.以下说法中正确的是:C
 A.C语言程序总是从第一个定义的函数开始执行
 B.在C语言程序中,要调用的函数必须放在main()函数中定义
 C.C语言程序总是从main()函数开始执行
 D.C语言程序中的main()函数必须放在程序的开始部分
2. 以下不正确的C语言标识符是:D
A.ABC
B.abc
C.a_bc
D.ab.c

3.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:scanf("x=%d.y=%f”,&x,&y);则为了将数(3.0分)据10和66.6分别赋给x和y,正确的输入应是:A
A.x=10,y=66.6<回车>
B.10 66.6<回车>
c.10<回车>66.6<回车>
D.x=10<回车>y=66.6<回车>

4.设a, b, c, d,m,n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (3.0分)(m=a>b)&&(n=c>d)运算后,n的值为:C
A.0
B.1
C.2
D.3
5.以下程序执行后,输出为:D

int main()
   {  int a=0,b=0,c=0,d=0;
       if(a=1)    b=1; c=2;
       else   d=3;
       printf("%d,%d,%d,%d\n",a,b,c,d);
    }


A. 0,1,2,3
B. 0,0,0,3
C.1,1,2,0
D.编译有错
6.程序段如下:则以下说法中正确的是:D (3.0分)

int k=5;
do
{k--;}
while(k<=0);


A.循环执行5次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次

7.下列程序段执行后k值为:A (3.0分)
 

int k=0,i,j;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
      k=k+1;


A.15
B.3
C.5
D.8
8.已有一维数组的定义“int a[10]={1,2,3,4,5};”,元素a[5]的值是:A(3.0分)
A.0
B.1
C.4
D.5

9.在运行语句“gets(s)”时输入“Tian jin”,数组s得到的是:C(3.0分)
A."T"
B."Tian"
C." Tian jin"
D."Tian j"

10.已经定义char [s1]="abcde",s2[]="abcdE",函数strcmp(s1,s2)的值是:A(3.0分)

A 正数
B.负数
C.0
D.真

11.在C语言中,字符串的结束标识为:A(3.0分)
A '\0'
B.'0'
C.'\n'

12.设有语句:int a=1,b=0;则执行下面语句后输出为:B (3.0分)

switch(a)
     {
          case  1:
     switch(b):
     {
          case  0: printf("**0**");break;
          case  1: printf("**1**");break;
     }
     case 2: printf("**2**");break;}

A.**0**

B.**0****2**

C.**0****1****2**

D.错误
13.已知字符.a'的ASCII码值为97,运行语句“d='a'<100;"后d的值为:B(3.0分)
A.0
B.1
C.97
D.100

14.已经定义变量int a,则不能正确描述数学关系9 A.9 B.a==10||a==11||a==12||a==13
C. a>9 && a<14
D.!(a<=9)&&!(a>=14)
15.在switch(c)语句中,C不能是()类型:D(3.0分)
A. int
B.char
c.long
D.double

二.填空。

1.

#include 
void main()
{ int a,b,c;
  a=10;b=0;c=0;
  printf("%d\n",a&&b||c);
    
    return 0;
}

答案:0

2.

#include 
void main()
{ int a;
  scanf("%d",&a);
  switch(a)
   { case 1:printf("111");
     case 2:printf("222");
     default:printf("333");
   }
    return 0;
}

从键盘输入1,输出结果为:111222333

3.

#include 
#include 
void  main()
{ int i;
  char s[10],t[10];
  gets(t);
  for(i=0;i<2;i++)
  {     gets(s);
        if((strcmp(t,s))<0)
                strcpy(t,s);
  }
    
    puts(t);
  }

以下程序在运行时,输入CDEF<回车>BADEF<回车>QTHRG<回车>,则运行结果为:QTHRG

4.

#include 
void  main()
{ int a[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};
  int i,sum=0;
  for(i=0;i<=4;i++)
      sum+=a[i][2];
  printf("%d\n",sum);
}

输出结果为:19

5.

#include 
void main()
{      char c;
       while((c=getchar())!='\n')
       {    c--;
            putchar(c);
        }
}

以下程序在运行时,从键盘中输入bcdef<回车>,则运行结果是abcde.

题挺水的,不过拿来找感觉挺不错的。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/713530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存