rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » C/C++

C语言复习题(选择题)

C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始        B) 程序文件的最后
C) 它所调用的函数的前面  D) 程序文件的任何位置

1) 标识符命名、数据类型

主要考核标识符命名、变量、常量、基本数据类型等,标识符命名时要和C语言的关键字注意区分。 

样题1:
以下不正确的C语言标识符是____。
A) float     B) a_1_2     C) ab1exe      D) _x

样题2:
以下是正确的C语言标识符是____。
A) #define    B) _123     C) %d      D) \n

样题3:
已知:char a='\70';则变量a中 。
A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明非法

2) 运算符和表达式

如算术运算符、逻辑运算符、关系比较运算符、条件运算符、逗号运算符等。还包括逻辑运算的短路情况,尤其要注意++和―的不同用法。以及运算符所允许的类型

样题1:温度华氏和摄氏的关系是: C=-5/9(F-32)。已知:float C,F;由华氏求摄氏的正确的
9
赋值表达式是____。
A) C=5/9(F-32) B) C=5*(F-32)/9
C) C=5/9*(F-32) D) 三个表达式都不正确

样题2:
已知int i=10;表达式"20-0<=i<=9"的值是____。
A) 0    B) 1     C) 19    D) 20

样题3:

设x,y,t均为in型变量,则执行语句:

x=y=1;  t=++x||++y后,y的值是:

不确定      4     3     1

样题4:

逗号表达式” (a=2*3,a*4),a+20”的值是

44     26    6     24     

3) 输入和输出

主要考scanf  和printf的格式

样题1:
若有int  a=97;
执行语句 printf("%c",a);屏幕显示____。
A) a   B) 97    C) %c    D) ‘a’

样题2:
使用语句scanf("x=%f,y=%f",&x,&y);输入变量x、y的值(□代表空格),正确的输入是____。
A) 1.25,2.4 B) 1.25□2.4 C) x=1.25,y=2.4 D) x=1.25□y=2.4

4) 分支结构

样题1:

已知int  x=10,y=20,z=30;以下语句执行后,x,y,z的值:

if (x>y)

z=x;

x=y;

 y=z;

样题2:

若a=1,b=2,则表达式a>b?a:b+1的值是:

样题3:

以下程序的运行结果是:

main()

{int m=5;

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

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

5) 循环结构

三种循环结构的基本结构和语法;对循环次数的分析;以及对循环结束后循环控制变量的值的分析、

样题1:以下循环的循环次数:

for (i=2; i= =0; )

printf("%d",i--);

无限次 0次  1次  2次

样题2:以下循环的循环次数:

for (i=2 ; i>=0;)

printf("%d",i--);    无限次 3次  1次  2次

样题3:

执行语句for(i=1 ; i++<4;  ); 后,变量i的值是
3    4     5     不定

6) 函数概念、函数定义、声明、调用

函数的作用;库函数及相关的头文件;函数定义、声明、调用的形式。

样题1: 以下所列的各函数首部中,正确的是
A) void play(var :Integer,var b:Integer)
B) void play(int a,b)
C) void play(int a,int b)
D) Sub play(a as integer,b as integer)

样题2:当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度 B) 数组的首地址
C) 数组每一个元素的地址 D) 数组每个元素中的值

样题3:在C语言中,函数的数据类型是指____。
A) 函数返回值的数据类型 B) 函数形参的数据类型
C) 调用该函数时的实参的数据类型 D) 任意指定的数据类型

样题4:以下函数声明正确的是:

(float) power( ); 

float power(a,b) 

int power(float a,float b);

 int power( 3 )

7) 一维数组

数组的定义、数组元素的正确引用;

样题1:

一下不正确定以一维数组的选项是()

A   int   num[3];

B   #define N 100      int   num[N];

C   int   num[2*3];

 D   int   N=100;          int   num[N];

样题2:

以下程序的输出结果是

main( )

{ int s[8]={1,3,5,2,4,6},i,d=0;

  for (i=0;s[i]%2;i++)    d+=s[i];

  printf("%d\n",d);    }
9   11  19  21

样题3:

以下程序的输出结果(   24 )

main( )

{ int aa[4]={0,2,3,4};

int i,s=1;

for(i=1;i<4;i++)     s*=aa[i];

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

样题4:

一下定义能正确赋值的是

A. int a[ ]={1,2,3};

B. int a[3];  a[3]={1,2,3};

C. int a[3];    a={1,2,3}

D. int a[3],b[3]={1,2,3};

     a=b;

8) 二维数组

数组的定义、数组元素的正确引用;

样题1:
对二维数组的正确说明是____。
A) int a[][]={1,2,3,4,5,6}; B) int a[2][]={1,2,3,4,5,6};
C) int a[][3]={1,2,3,4,5,6}; D) int a[2,3]={1,2,3,4,5,6};

样题2:
以下不能正确定义二维数组的是()
int a[2][3];
int a[2][3]={1,2,3,4,5,6};
int a[ ][3]={1,2,3};
int a[2][3]={{1},{2},{3,4}};

9) 字符串

字符数组的定义、初始化;对字符数组的元素的引用;对字符数组的整体输入和输出;

样题1:
对字符数组s赋值,不合法的一个是____。
A) char s[]="Beijing";
B) char s[20]={"beijing"};
C) char s[20];s="Beijing";
D) char s[20]={'B','e','i','j','i','n','g'};

样题2

以下程序的输出结果是
 #include<string.h>

main(  )

{char s[]="12345678";

printf("%d\n",strlen(s));

赋初值的字符串有错   8   9  10

10)              预处理

定义一个宏#define  L(x)    x*x  则L(a+b)的实际运算表达式:

a+b *a+b  

(a+b * a+b)

((a+b) *( a+b))

(a+b)*( a+b)

11)              指针

指针的基本概念、用指针访问一个一维数组的元素;用指针访问字符串;指针数组与行指针的形式;指针作为函数参数参数传递方式

样题1:设有说明int (*p)[4];其中的标识符p是 。
A) 4个指向整型变量的指针变量
B) 指向4个整型变量的函数指针
C) 一个指向具有4个整型元素的一维数组的指针
D) 具有4个指向整型变量的指针元素的一维指针数组

样题2:以下程序的输出结果:

main()

{int  a=10,b;

 int   *p=&a;

*p=100;

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

û无结果     B.100     C.10     D.1

样题3:

以下程序的输出结果:

main()

{int  a[5]={1,2,3,4,5};

 int   *p=a;

 printf("a=%d",*(p+5));

不确定     5    1     编译错误,无法运行

样题4:

以下程序的输出结果:

main()

{char   a[  ]="C_Language";

 char    *p=a;

 puts(a+2);

Language    C_Language     L        不确定

样题5:

以下程序的输出结果:

#include  "stdio.h"

#include "string.h"

main()

{char   a[  ]="12345678";

 char    *p=a;

 strcpy(p,"ABCDEF");

 puts(p);

  ABCDEF   123     12345678         A

顶一下
(0)
踩一下
(0)