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