《C语言程序设计》复习资料

《C语言程序设计》课程期末复习资料

一、单项选择题

【1.1】以下不正确的C语言标识符是____。

A) int B) a_1_2 C) ab1exe D) _x

【1.2】以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n

【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。

A) print _3d oodb aBc

B) i\am one_half start$it 3pai

C) Pxq My->book line# His.age

D) str_l Cpp pow while

【1.4】下面各选项组中,均是C语言关键字的组是。

A) auto,enum,include B) switch,typedef,continue

C) signed,union,scanf D) if,struct,type

【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external

【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始 B) 程序文件的最后

C) 它所调用的函数的前面 D) 程序文件的任何位置

【1.7】下列关于C语言的叙述错误的是____

A) 大写字母和小写字母的意义相同

B) 不同类型的变量可以在一个表达式中

C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D) 同一个运算符号在不同的场合可以有不同的含义

【1.8】在C语言中,错误的int类型的常数是。

A) 32768 B) 0 C) 037 D) 0xAF

【1.9】执行语句 printf("%x",-1);屏幕显示____。

A) -1 B) 1 C) -ffff D) ffff

【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。

A) -1 B) -32768 C) 1 D) 32768

【1.11】已知 long i=65539;执行语句printf("%d",i);屏幕显示____。

A) 65539 B) -3 C) 3 D) 程序不能执行

【1.12】在C语言中,整数-8在内存中的存储形式是。

A) 1111 1111 1111 1000 B) 1000 0000 0000 1000

C) 0000 0000 0000 1000 D) 1111 1111 1111 0111

【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

A) 原码 B) 补码 C) 反码 D) ASCII码

【1.14】将字符g赋给字符变量c,正确的表达式是。

A) c=\147 B) c="\147" C) c='\147' D) c='0147'

【1.15】下列转义字符中错误的一个是____。

A) '\000' B) '\0014' C) '\x111' D) '\2'

【1.16】将空格符赋给字符变量c,正确的赋值语句是____。

A) c='\0' B) c=NULL C) c=0 D) c=32

【1.17】已知:char a='\70';则变量a中。

A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明非法【1.18】字符串"\"EOF\n=-\61\""的长度是____。

A) 8 B) 9 C) 14 D) 非法字符串

【1.19】字符串""的长度是____。

A) 0 B) 1 C) 2 D) 非法字符串

【1.20】已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是。

A) int B) char C) float D) double

【1.21】温度华氏和摄氏的关系是: C=-(F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。

A) C=5/9(F-32) B) C=5*(F-32)/9

C) C=5/9*(F-32) D) 三个表达式都正确

【1.22】逗号表达式"(a=3*5,a*4),a+15"的值是____。

A) 15 B) 60 C) 30 D) 不确定

【 1.23】如果int a=1,b=2,c=3,d=4;则条件表达式"a

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

【1.24】为求出s=10!的值,则变量s的类型应当为。

A) int B) unsiged C) long D) 以上三种类型均可

【1.25】已知int i=10;表达式"20-0<=i<=9"的值是____。

A) 0 B) 1 C) 19 D) 20

【1.26】已知int x=1,y;执行下述语句后变量x的值是____。

y=++x>5&&++x<10;A) 1 B) 2 C) 3 D) 4

【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。

A) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122

B) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

C) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122

D) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)

【 1.28】已知int a[3][2]={3,2,1};则表达式"a[0][0]/a[0][1]/a[0][2]"的值是____。

A) 0.166667 B) 1 C) 0 D) 错误的表达式

【1.29】已知int x=1,y=1,z=1;表达式"x+++y+++z++"的值是____。

A) 3 B) 4 C) 5 D) 表达式错误

【1.30】用十进制表示表达式"12|012"的值是____。

A) 1 B) 0 C) 12 D) 14

【1.31】已知以下程序段:

int a=3,b=4;

a=a^b;

b=b^a;

a=a^b;

则执行以上语句后a和b的值分别是____。

A) a=3,b=4 B) a=4,b=3 C) a=4,b=4 D) a=3,b=3

【1.32】在位运算中,操作数每右移一位,其结果相当于____。A) 操作数乘以2 B) 操作数除以2 C) 操作数除以16 D) 操作数乘以16

【1.33】已知 char a=222;执行语句a=a&052;后,变量a的值是____。

A) 222 B) 10 C) 244 D) 254

【1.34】已知二进制数a是00101101,如果想通过整型变量b与a 做异或运算,使

变量a的高4位取反,低4位不变,则二进制数b的值应是____。

A) 11110000 B) 00001111 C) 11111111 D) 00000000

【1.35】已知 int a=15,执行语句a=a<<2以后,变量a的值是____。

A) 20 B) 40 C) 60 D) 80

【1.36】已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。

A) 0 B) 1 C) 5 D) 6

【1.37】使用语句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 【1.38】下列循环语句

中有语法错误的是____。

A) while(x=y) 5; B) while(0) ;

C) do 2;while(x==b); D) do x++ while(x==10);

【1.39】已知int x=(1,2,3,4);变量x的值是____。A) 1 B) 2 C) 3 D) 4

【1.40】表达式sizeof(double)是。

A) 函数调用 B) double型表达式 C) int型表达式 D) 非法表达式【 1.41】执行语句printf("2:%d,",printf("1:%d,",scanf("%d",&x)));以后的输出结果是____。

A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4,

【1.42】已知:int x,y;double z;则以下语句中错误的函数调用是。

A) scanf ("%d,%lx,%le",&x,&y,&z);B) scanf ("%2d*%d%lf",&x,&y,&z);

C) scanf ("%x%*d%o",&x,&y);D) scanf ("%x%o%6.2f",&x,&y,&z);

【1.43】与条件表达式"(n)?(c++):(c--)"中的表达式(n)等价的表达式是____。

A) (n==0) B) (n==1) C) (n!=0) D) (n!=1)

【1.44】已知int i=1,j=0;执行下面语句后j的值是____。

while(i)

switch(i)

{ case 1: i+=1;j++;break;

case 2: i+=2;j++;break;

case 3: i+=3;j++;break;

default: i--;j++;break;

}

A) 1 B) 2 C) 3 D) 死循环

【1.45】求取满足式 12+22+32+ …… +n2 ≤1000的n,正确的语句是____。

A) for(i=1,s=0;(s=s+i*i)<=1000;n=i++) ;

B) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;

C) for(i=1,s=0;(s=s+i*++i)<=1000;n=i) ;

D) for(i=1,s=0;(s=s+i*i++)<=1000;n=i) ;

【1.46】下面的for语句。

for(x=0,y=10;(y>0)&&(x<4);x++,y-- ) ;

A) 是无限循环 B) 循环次数不定 C) 循环执行4次 D) 循环执行3次

【1.47】已知int i=1;执行语句while (i++<4) ;后,变量i的值为____。

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

【1.48】已知int x=12,y=3;执行下述程序后,变量x的值是____。do

{ x/=y--;

}while(x>y);

A) 1 B) 2 C) 3 D) 程序运行有错误

【 1.49】已知char a[][20]={"Beijing","shanghai","tianjin","chongqing"};语句printf("%c",a[30]);的输出是____。

A) <空格> B) n C) 不定 D) 数组定义有误

【1.51】对二维数组的正确说明是____。

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};【1.52】对字符数组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'};

【1.53】对字符数组str赋初值,str不能作为字符串使用的一个是____。

A) char str[]="shanghai";

B) char str[]={"shanghai"};

C) char str[9]={'s','h','a','n','g','h','a','i'};

D) char str[8]={ 's','h','a','n','g','h','a','i'};

【1.55】如果一个变量在整个程序运行期间都存在,但是仅在说明

它的函数内是可见的,这个变量的存储类型应该被说明为____。A) 静态变量 B) 动态变量 C) 外部变量 D) 内部变量

【1.56】在一个C源程序文件中,•若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是。

A) extern B) register C) auto D) static

【1.57】在C语言中,函数的数据类型是指____。

A) 函数返回值的数据类型 B) 函数形参的数据类型

C) 调用该函数时的实参的数据类型 D) 任意指定的数据类型

【1.58】已知如下定义的函数:

fun1(a)

{ printf("\n%d",a);

}

则该函数的数据类型是____。

A) 与参数a的类型相同 B) void型

C) 没有返回值 D) 无法确定

【1.59】定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是____。

A) swapa(int x,int y) B) swapb(int *x,int *y)

{ int temp; { int temp;

temp=x;x=y;y=temp; temp=x;x=y;y=temp;

} }

C) swapc(int *x,int *y) D) swapd(int *x,int *y)

{ int temp; { int *temp;

temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp;

} }

【1.60】求一个角的正弦函数值的平方。能够实现此功能的函数是____。

A) sqofsina(x)

float x;

{ return(sin(x)*sin(x));

}

B) double sqofsinb(x)

float x;

{ return(sin((double)x)*sin((double)x));

}

C) double sqofsinc(x)

{ return(((sin(x)*sin(x));

}

D) sqofsind(x)

float x;

{ return(double(sin(x)*sin(x)));

【1.61】一个函数内有数据类型说明语句如下:

double x,y,z(10);

关于此语句的解释,下面说法正确的是____。

A) z是一个数组,它有10个元素。

B) z是一个函数,小括号内的10是它的实参的值。

C) z是一个变量,小括号内的10是它的初值。

D) 语句中有错误。

【1.62】已知函数定义如下:

float fun1(int x,int y)

{ float z;

z=(float)x/y;

return(z);

}

主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。

A) printf("%f",fun1(a,b)); B) printf("%f",fun1(&a,&b));

C) printf("%f",fun1(*a,*b)); D) 调用时发生错误

【1.63】下面函数的功能是____。

a(s1,s2)

char s1[],s2[];

{ while(s2++=s1++) ;

}

A) 字符串比较 B) 字符串复制 C) 字符串连接 D) 字符串反向【1.64】在下列结论中,只有一个是错误的,它是。

A) C语言允许函数的递归调用

B) C语言中的continue语句,可以通过改变程序的结构而省略

C) 有些递归程序是不能用非递归算法实现的

D) C语言中不允许在函数中再定义函数

【1.65】已知:int a, *y=&a;则下列函数调用中错误的是。

A) scanf("%d", &a); B) scanf("%d", y);

C) printf("%d", a); D) printf("%d", y);

【1.66】说明语句"int (*p)( );"的含义是。

A) p是一个指向一维数组的指针变量

B) p是指针变量,指向一个整型数据

C) p是一个指向函数的指针,该函数的返回值是一个整型

D) 以上都不对

【1.67】设有说明int (*p)[4];其中的标识符p是。

A) 4个指向整型变量的指针变量

B) 指向4个整型变量的函数指针

C) 一个指向具有4个整型元素的一维数组的指针

D) 具有4个指向整型变量的指针元素的一维指针数组

【1.68】已知:char s[10], *p=s,则在下列语句中,错误的语句是。A) p=s+5; B) s=p+s; C) s[2]=p[4]; D) *p=s[0];

【1.69】已知:char s[100];int i;则引用数组元素的错误的形式是。

A) s[i+10] B) *(s+i) C) *(i+s) D) *((s++)+i)

【1.70】已知:char s[6], *ps=s;则正确的赋值语句是。

A) s="12345";B) *s="12345";C) ps="12345";D)

*ps="12345";

【 1.71】已知:char a[3][10]={"BeiJing","ShangHai","TianJin"}, *pa=a;不能正确显示字符串"ShangHai"的语句是。

A) printf("%s",a+1); B) printf("%s",*(a+1));

C) printf("%s",*a+1); D) printf("%s",&a[1][0]);

【1.72】已知:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*ptr)[3]=a,*p=a[0];

则以下能够正确表示数组元素a[1][2]的表达式是。

A) *(*(a+1)+2) B) *(*(p+5)) C) (*ptr+1)+2 D) *((ptr+1)[2]) 【1.73】已知:int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的表达式是。

A) p+=2,*(p++) B) p+=2,*++p C) p+=2,*p++ D) p+=2,++*p

【1.74】已知:int a[]={1,2,3,4}, y, *p=a;则执行语句y = (*++p)--;之后, 数组a各元素的值变为______。

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

变量y的值是____。

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

【1.75】已知:int a[ ]={1,3,5,7}, y *p= a;为使变量y的值为3,下列语句正确的是____。

A) y=++*p++;B) y=++(*p++);C) y=(++*p)++;D) y=(*++p)++;

【1.76】已知:int x[ ]={ 1,3,5,7,9,11 },*ptr=x;则能够正确引用数组元素的语句是。

A) x B) *(ptr--) C) x[6] D) *(--ptr)

【1.77】函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是。

A) funa (int *x, int *y) B) funb (int x, int y)

{ int *p; { int t;

p=x;*x=*y;*y=*p; t=x;x=y;y=t;

} }

C) func (int *x, int *y) D) func (int *x, int *y)

{ *x=*y;*y=*x; { *x=*x+*y;*y=*x-*y;*x=*x-*y;

} }

【1.78】有定义如下:

struct sk

{ int a;

float b;

}data ,*p;

如果 p=&data;则对于结构变量data的成员a的正确引用是____。

A)(*).data.a B) (*p).a C) p->data.a D) p.data.a

【1.79】已知:

struct st

{ int n;

struct st *next;

};

static struct st a[3]={1,&a[1],3,&a[2],5,&a[0]},*p;

如果下述语句的显示是2,则对p的赋值是____。

printf("%d",++(p->next->n));

A) p=&a[0]; B) p=&a[1]; C) p=&a[2]; D) p=&a[3];【1.80】已知:

struct person

{ char name[10];

int age;

}class[10]={"LiMing",29,"ZhangHong",21,"WangFang",22};下述表达式中,值为72的一个是____。

A) class[0]->age + class[1]->age+ class[2]->age

B) class[1].name[5]

C) person[1].name[5]

D) clase->name[5]

【1.81】已知:

struct

{ int i;

char c;

float a;

}test;

则sizeof(test)的值是。

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

【1.82】已知:

union

{ int i;

char c;

float a;

}test;

则sizeof(test)的值是。

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

【1.83】已知:

union u_type

{ int i;

char ch;

float a;

}temp;

现在执行"temp.i=266;printf("%d",temp.ch)"的结果是。

A) 266 B) 256 C) 10 D) 1

【1.84】若有以下程序段:

struct dent

{ int n;

int *m;

};

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

struct dent s[3] = { {101,&a},{102,&b},{103,&c} };struct dent *p=s;

则以下表达式中值为2的是。

A) (p++)->m B) *(p++)->m C) (*p).m D) *(++p)->m

【1.85】若有以下说明语句,则对结构变量pup中sex域的正确引用是。

struct pupil

{ char name[20];

int sex;

}pup,*p;

p=&pup;

A) p.pup.sex B) p->pup.sex C) (*p).pup.sex D) (*p).sex 【1.86】以下对结构变量stul中成员age的非法引用是。

struct student

{ int age;

int num;

}stu1,*p;

p=&stu1;

A) stu1.age B) student.age C) p->age D) (*p).age

【1.87】若有以下定义和语句:

union data

{ int i;

char c;

float f;

}a;

int n;

则以下语句正确的是。A) a=5;B) a={2,'a',1.2};C) printf("%d\n",a);

D) n=a;

【1.88】已知:

struct sk

{ int a;

int age;

}date,*p;

如果要使指针p指向data中的成员a,正确的赋值语句是____。

A) p = (struct sk *)&data.a; B) p = (struct sk *)data.a;C) p = &data.a; D) *p = data.a;

【1.89】已知 enum week {sun,mon,tue,wed,thu,fri,sat}day;则正确的赋值语句是____。

A) sun=0; C) san=day; D) sun=mon; D) day=sun;

【1.90】已知 enum color {red,yellow=2,blue,white,black}ren;执行下述语句的输出结果是____。

printf("%d",ren=white);

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

【1.91】已知 enum name{zhao=1,qian,sun,li}man;执行下述程序段后的输出是____。

man=0;

switch(man)

{ case 0: printf("People\n");

case 1: printf("Man\n");

case 2: printf("Woman\n");

default: printf("Error\n");

}

A) People B) Man C) Woman D)Error

【1.92】下述关于枚举类型名的定义中,正确的是____。

A) enem a={ one,two,three };B) enem a { one=9,two=-1,three };

C) enem a={"one","two","three"};D) enem a {"one","two","three"};

【1.93】C语言中标准输入文件stdin是指。

A) 键盘 B) 显示器 C) 鼠标 D) 硬盘

【1.94】要打开一个已存在的非空文件"file"用于修改,选择正确的语句____。

A) fp=fopen("file", "r"); B) fp=fopen("file", "a+");

C) fp=fopen("file", "w"); D) fp=fopen('file", "r+");【1.95】当顺利执行了文件关闭操作时,fclose函数的返回值是。

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

【1.96】fscanf函数的正确调用形式是。

A) fscanf (文件指针, 格式字符串, 输出列表);

B) fscanf (格式字符串, 输出列表, 文件指针);

C) fscanf (格式字符串, 文件指针, 输出列表);

D) fscanf (文件指针, 格式字符串, 输入列表);

【1.98】已知宏定义

#define N 3

#define Y(n) ((N+1)*n)

执行语句z=2*(N+Y(5+1));后,变量z的值是____。

A) 42 B) 48 C) 52 D) 出错

【1.99】已知宏定义#define SQ(x) x*x,执行语句printf("%d",10/SQ(3));后的输出结果是____。

A) 1 B) 3 C) 9 D) 10

【1.100】已知宏定义如下:

#define PR printf

#define NL "\n"

#define D "%d"

#define D1 DNL

若程序中的语句是 PR(D1,a);经预处理后展开为____。

c语言期末复习资料

c语言期末复习资料 C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。 一、基础知识 1.变量和数据类型 C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。掌握变量和数据类型的定义和使用是C 语言学习的第一步。 2.运算符和表达式 C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。表达式是由变量和运算符组成

的代码段,用于对变量进行操作和计算。掌握运算符和表达式的使用和规则是C语言学习的基础。 3.条件语句和循环语句 条件语句和循环语句是C语言中的两种重要的控制结构。条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。 二、进阶技巧 1.字符数组和字符串 字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。

2.函数和指针 函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。 3.结构体和文件操作 结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。文件操作是C语言中用于对文件进行读取和写入的技术,能够更好地处理文件输入输出等问题。掌握结构体和文件操作的使用和规则,能够更好地解决程序中的实际问题。 三、学习建议 1.掌握基础知识

c程序设计基础知识点总结

c程序设计基础知识点总结C程序设计是计算机科学中最基础的一门课程,它涵盖了许多重要的知识点和技能。本文将对C程序设计的基础知识进行总结,以帮助读者掌握C语言的核心概念和编程技巧。 一、程序基础 在开始学习C语言之前,我们需要了解一些基本的概念和术语。首先是程序的基本结构,一个C程序由多个函数组成。主函数(main)是程序的入口,它负责执行程序的主要逻辑。其他函数可以被主函数调用,用来实现具体的功能。 二、变量和数据类型 C语言中有多种基本数据类型,包括整型(int)、浮点型 (float/double)、字符型(char)和布尔型(bool)。我们可以定义变量来存储这些数据类型的值,并对其进行操作和处理。变量在使用前需要先声明,并且可以赋初始值。 三、运算符和表达式 在C语言中,有许多运算符可以用来操作变量和表达式。比如加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)等。我们可以使用这些运算符对变量进行算术运算、比较运算和逻辑运算。 四、条件语句和循环结构

条件语句和循环结构是C程序设计中非常重要的控制结构。条件语 句(if-else语句)可以根据条件的真假选择不同的执行路径。循环结构(for循环、while循环、do-while循环)可以重复执行一段代码,直到 满足特定的条件为止。 五、数组和字符串 数组是一种用来存储多个相同类型数据的结构。在C语言中,我们 可以使用数组来存储一系列的值,并对其进行遍历和操作。字符串是 由字符组成的数组,C语言提供了一组字符串操作函数,方便我们对 字符串进行处理。 六、函数和指针 函数是C程序设计中模块化编程的基础。我们可以定义自己的函数,并在需要的时候调用它们。函数可以接收参数并返回结果,可以提高 代码的可读性和可维护性。指针是C语言中的重要概念,它可以指向 内存中的某个地址,并对地址中的数据进行读写操作。 七、文件操作 C语言提供了一组文件操作函数,用来读写文件和处理文件流。我 们可以使用这些函数来打开和关闭文件,读取和写入文件内容,并进 行文件的操作和管理。 八、错误处理和调试

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

C语言程序设计期末复习题及参考答案

C语言程序设计期末复习题及参考答案 1. 若变量a的值为10,b的值为20,则表达式a++ + ++b的结果是多少? 答案:32 解析:在表达式a++ + ++b中,a++表示先使用变量a的值,然后再对a的值进行自增操作;++b表示先对变量b的值进行自增操作,然后再使用变量b的值。因此,a++ + ++b相当于10 + 21,结果为32。 2. 字符串连接函数strcat()的原型和功能是什么? 答案:strcat()函数的原型为char *strcat(char *str1, const char *str2),其功能是将字符串str2追加到字符串str1的末尾,并返回拼接后的字符串起始地址。 3. 请简述switch语句的用法及其与if语句的异同点。 答案:switch语句用于根据不同的情况执行不同的代码分支。其语法结构为: ```c switch (表达式) { case 值1: 代码块1;

break; case 值2: 代码块2; break; ... default: 默认代码块; break; } ``` switch语句与if语句的异同点如下: - 相同点:都用于根据条件执行不同的代码分支; - 不同点: 1)switch语句的条件表达式只能是整型或字符型,而if语句的条件表达式可以是任意的关系表达式; 2)switch语句针对的是多个离散的取值,if语句则根据条件的真假执行对应的代码; 3)switch语句执行完一个匹配的分支后会跳出整个switch语句,而if语句在执行条件为真的分支后会继续执行后续的代码。

4. 请写出一个函数,实现将字符串中的大写字母转换为小写字母的功能。 答案:示例代码如下: ```c void convertToLower(char *str) { int i; for (i = 0; str[i] != '\0'; i++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 'a' - 'A'; } } } // 使用示例: int main() { char str[] = "Hello World";

C语言程序设计(第四版)复习资料

C语言程序设计(第四版)复习资料C语言程序设计(第四版)复习资料 C语言程序设计是计算机科学与技术专业中非常重要的一门课程, 通过学习C语言,可以培养同学们良好的编程思维和解决问题的能力。为了帮助同学们更好地复习和掌握C语言程序设计知识,提供一份详 细的复习资料是非常有必要的。本文将针对教材《C语言程序设计 (第四版)》进行复习资料的整理,帮助同学们系统地复习重点知识 点和考点。 一、概述 C语言是一种通用的、面向过程的高级计算机编程语言,它具有语 法简洁、功能强大、性能高效等特点。本教材分为六个部分:基本类 型和函数、选择结构、循环结构、数组与指针、字符串和结构、高级 特性。通过学习这些内容,同学们可以初步掌握C语言的基本知识和 编程技巧。 二、基本类型和函数 在C语言中,有一些基本类型和函数是我们必须要了解和掌握的。 首先,我们需要了解整型、浮点型、字符型等基本数据类型的特点和 使用方法。其次,掌握C语言常用的输入输出函数,如printf()和 scanf()函数,这是进行数据输入和输出的基础。此外,还需要理解C 语言中的运算符和表达式,并能正确地使用它们进行计算和逻辑运算。 三、选择结构

选择结构是C语言中非常重要的一部分,通过选择结构可以实现根 据不同条件执行不同的代码块。在《C语言程序设计(第四版)》中,详细介绍了if语句、switch语句等选择结构的使用方法和注意事项。 在复习选择结构时,同学们需要理解条件表达式的含义和使用方法, 并能灵活地运用选择结构解决实际问题。 四、循环结构 循环结构是C语言中常用的一种结构,通过循环结构可以重复执行 一段代码,直到满足退出条件为止。在本教材中,详细介绍了while循环、do-while循环和for循环的使用方法和注意事项。复习循环结构时,同学们需了解循环的基本原理,掌握循环控制变量的更新和循环体的 编写技巧。 五、数组与指针 数组和指针是C语言中非常重要的概念,同时也是较难理解和掌握 的部分。在《C语言程序设计(第四版)》中,详细介绍了数组的概念、数组的声明和使用方法,以及指针的概念、指针的声明和使用方法。复习数组与指针时,同学们需要了解数组和指针的本质区别,掌 握数组和指针的基本操作,能够熟练编写数组和指针相关的代码。 六、字符串和结构 字符串和结构是C语言中的两个重要概念,它们在实际编程中具有 广泛的应用。字符串是一串字符的集合,可以通过字符数组或指针来 表示和操作。结构是一种用户自定义的数据类型,可以将多个不同类

C语言程序设计课程复习资料

《C语言程序设计》课程复习资料 一、单项选择题: 1.以下不是C语言的特点的是 [ ] A. C语言简洁、紧凑 B.能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作 D. C语言移植性好 2.以下不正确的C语言标识符是 [ ] A. ABC B. abc C. a_bc D. ab.c 3.一个c程序的执行是从 [ ] A. main( )函数开始,直到main( )函数结束 B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束 D. main( )函数开始,直到最后一个函数结束 4.以下不正确的语句(设有int p,q)是 [ ] A.P*=3 B.p/=q C.p十=3 D.p&&=q 5.下列四组选项中,均不是C语言关键字的选项是 [ ] A.define B.getc C.include D.while if char sanf go type printf case pow 6.下面四个选项中,均是合法整形常量的选项是 [ ] A. 160 B. -0xcdf C. -01 D. -0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 7.下面四个选项中,均是不合法浮点数的选项是 [ ] A.160. B.123 C.-.18 D.-e3 0.12 2e4.2 123e4 0.234 e3 .e5 0.0 1e3 8.若有代数式3ae/bc,则不正确的C语言表达式是 [ ] A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3 9.若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum的值为[ ] A.7 B.8 C.9 D.10 10.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是 [ ] A.2.500000 B.2.750000 C.3.500000 D.0.000000 11.sizeof(float)是 [ ] A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用 D.一个不合法的表达式 12.设int n=3;则n十十的结果是 [ ] A.2 B.3 C.4 D.5 13.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 [ ] A.float B.char C.int D.double. 14.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是 [ ] A.scanf(“%d%d1x,%1e”,&x,&y,&z) B.scanf(“%2d*%d%1f”,&x,&y,&z) C.scanf(“%x%*d%o”,&x,&Y) D.scanf(“%x%o%6.2f”, &x,&y,&z) 15.以下说法正确的是 [ ] A.输入项可以为一个实型常量,如scanf(“%f”,3.5) B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”) C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f) D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f)

C语言程序设计复习资料

C语言程序设计复习资料 一、选择题 下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。 1、不合法的整数是(B )。 A)0x35 B)43.6 C)0532 D)—346 2、下列合法的字符常量是(D )。 A)“f”B)x C)65 D)‘\Xab’ 3、设有整型变量x,单精度变量y=5。5,表达式x=float(y*3+((int)y%4))执行后,x的值为(A )。 A)17B)17.500000 C)17.5 D)1。5 4、在C语言中,负整数在内存中以( A )形式释放. A)补码B)BCD码C)反码D)十进制数 5、在C语言中,要求参加运算的数必须是整数的运算符是(C )。 A)/ B)!C)%D)= = 6、(D)是C语言中非法的数据类型关键字。 A)float B)singed C)integer D)Char 7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为( b)。 A)1 B)5 C)6 D)以上三个答案都不正确 8、下列语句的输出结果是( D ). printf(“%f\n”,(float)(2+4)/2); A)有语法错误不能通过编译B)3 C)3。0 D)3.000000 12、定义a为整型,下列表达式a=3>6的运行后,a的值为(A )。 A)0 B)1 C)3 D)表达式错误 13、如果a=1,b=2,c=3,d=4,则条件表达式a〉b?a:c>d?c:d的值为( D ). A)1 B)2 C)3 D)4 14、对于条件表达式(M)?(a++):(a——),其中的表达式M等价于(C )。 A)M= =0 B)M= =1 C)M!=0 D)M!=1 15、在x值处于-2到2,4到8时值为“真”,否则为“假"的表达式是(D )。 A)(2〉x〉-2)||(4>x〉8) B)((x<=—2)||(x>=2)||((x〉4)||(x>=8)) C)(x〈2)&&(x>=-2)&&(x〉4)&&(x<8) D)(x>-2)&&(x>4)||(x<8)&&(x<2) 16、已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为(C )。 Char a=‘a’; a—-; printf(“%d,%c\n”,a+‘2’—‘0',a+‘3’-‘0’); A)a,c B)a—运算不合法,故有语法错误C)98,c D)格式描述和输出项不匹配,输出无定值 18、C语言中,逻辑“真”等价于(C )。 A)大于零的数B)大于零的整数C)非零的数D)非零的整数19、下列语句中,符合语法的语句式(D )。 A)a+b=3 B)a=7 C)a=c+b+3=6;D)a=8,b=a+7; 20、若x为float型变量,则以列程序段结果是(B )。 x=1234。6789;

c语言程序设计复习资料

c语言程序设计复习资料 C语言程序设计复习资料 C语言是一门广泛应用于计算机科学领域的编程语言,它简洁高效的特性使得它成为了许多程序员的首选。无论是初学者还是有一定编程基础的人,都需要不断巩固和复习C语言的知识。本文将为大家提供一些C语言程序设计的复习资料,帮助大家巩固所学知识,提高编程能力。 一、基础知识回顾 1. 数据类型:C语言中有多种数据类型,包括整型、浮点型、字符型等。回顾这些数据类型的定义和使用方法,了解它们的特点和区别,对于编写正确的程序至关重要。 2. 运算符:C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。复习这些运算符的优先级和使用方法,能够帮助我们更加灵活地进行计算和判断。 3. 控制语句:控制语句是C语言中非常重要的一部分,包括条件语句、循环语句和跳转语句。复习这些语句的语法和用法,能够帮助我们编写出更加高效和灵活的程序。 二、实践应用 1. 编写简单的程序:通过编写一些简单的程序来巩固所学知识,比如实现一个计算器程序、编写一个简单的猜数字游戏等。通过实践应用,我们能够更好地理解和掌握C语言的各种语法和特性。 2. 解决实际问题:将所学的知识应用到实际问题中,比如编写一个学生成绩管理系统、实现一个简单的文件管理程序等。通过解决实际问题,我们能够更好

地理解和掌握C语言的实际应用,提高编程能力。 三、深入学习 1. 函数:函数是C语言中非常重要的一部分,它能够将程序分解为多个模块, 使得程序更加模块化和可维护。复习函数的定义和使用方法,了解函数的参数 传递和返回值,能够帮助我们编写出更加复杂和可扩展的程序。 2. 数组和指针:数组和指针是C语言中非常重要的概念,它们能够帮助我们更 好地处理和管理数据。复习数组和指针的定义和使用方法,了解它们的特点和 应用场景,能够帮助我们编写出更加高效和灵活的程序。 3. 结构体和文件操作:结构体和文件操作是C语言中比较高级的概念,它们能 够帮助我们更好地组织和管理数据。复习结构体的定义和使用方法,了解文件 的打开、读写和关闭操作,能够帮助我们处理更加复杂和实际的问题。 四、资源推荐 1. 书籍:《C Primer Plus》、《C语言程序设计》等是非常经典的C语言教材,它 们系统地介绍了C语言的各种知识点和应用场景,非常适合作为复习资料。 2. 在线教程:网上有许多免费的C语言教程,比如菜鸟教程、runoob等,它们提供了大量的C语言学习资源,包括教程、例子和练习题等,非常适合进行在 线学习和复习。 3. 编程练习:LeetCode、牛客网等在线编程平台提供了大量的编程练习题,通 过解决这些题目,我们能够更好地巩固和应用所学的知识,提高编程能力。 总结: C语言程序设计是一门非常重要的编程语言,掌握好C语言的知识对于提高编 程能力至关重要。通过对基础知识的回顾、实践应用的训练和深入学习的探索,

程序设计基础考试复习资料

程序设计基础 1. 如果int a=3,b=4;则条件表达式"a

9. 下列程序 #include main() { int s=0,a=5,n; scanf("%d",& n); do { s+=1; a=a-2; }while(a!=n); printf("%d,%d\n",s, a); }执行输入整数1的结果是2,1。 10. 在C语言中,函数的数据类型是指函数返回值的数据类型。 11. 如有定义语句int c[]={1,5,3,4,6,7,0},则数组有个7元素。 12. 若int x=2,y=3,z=4 则表达式x main() { int x, y =0; for(x=1;x<=10;x+ +) { if(y>=10) break; y=y+x;} printf(“%d%d”,y,x); }执行的结果是10 5。

C程序设计复习资料(含答案)

C程序设计复习要点 第一章概述 1.C程序的构成与结构特点 2.C程序上机调试过程与流程 第二章数据类型、运算量与表达式 1.数据类型的种类(基本数据类型和构造数据类型) 2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字 符 3.变量的命名、定义方法与赋初值 4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换 ●算术运算符、表达式及其构造(注意“/”和“%”特殊性) ●自增、自减运算符及其简单表达式运算 ●赋值运算符及其表达式(注意复合赋值运算符的运算方法) ●逗号运算符及其表达式 第三章流程控制 1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容) 2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意: ●格式输出中域宽和小数位数的控制 ●格式输入与输出中普通字符的原样输入和输出问题 ●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets() 3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合 性) 4.关系表达式与逻辑表达式的构造(根据已知条件写表达式) 5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套 ●if 语句的格式与用法:简单if、嵌套if、并列if ●逻辑关系与执行过程 ●嵌套规则(重点掌握if …else …if …else …if …else) 6.switch语句的格式与用法 7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序 8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法 ●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改

C语言程序设计复习资料(1)

《C语言程序设计》复习资料 填空题 1、在C语言中,字符类型的数据在内存中以相应的ASCII码存放,所以字符也 可以用整数形式输出。 2、在C语言中,符号常量是在一个程序中指定的用名字代表的常量,定义符号常量 一般用define命令,定义一个符号常量PI,其值为 3.14159,格式是# define PI 3.14159265。 3、用条件运算符写出求两个数a,b大者的表达式max= (a>b)?a:b;。 4、在一个函数中有定义int (*p)[10],则p为。 5、C语言函数参数传递的两种方式是和; 6、在C语言中,一般在程序中用___________来定义构造类型 7、C语言程序是函数构成的,其中有且只有个主函数,可以有个其它函 数。 8、设整型变量X,Y,Z的值均为15,执行X%=Y+Z后,X= ,继续执行 X=Y>Z?X+2:X-2后,X= 。 9、执行语句“for(j=1;j<=5;j++);”后,变量j的值为。 10、函数形式参数的作用域是。 11、若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类 型是。 12、在一个函数中有定义int a=5,*p=&a;执行*p=a+15;后,a的值为。 13、在一个函数中有定义float a=70,*p=&a;执行*p=*p +20;后,a的值为。 14、定义一个长度为20的整形一维静态数组a ,且前4个元素的初值为6,12,18, 24,定义的格式为:。 15、结构化程序设计的三种基本结构是顺序结构、选择结构和。 16、表达式(int)(20+2.5*3+6+5.8) 的值是。 17、写出表达式11<14&&17<25的值。 18、在C语言中,字符串是用双引号引起来的一串字符。在机器中,字符串"ABcdEFg\n" 需占用字节的内存空间。

C程序设计复习资料知识点总结C语言

C程序设计知识点 都懂了;一定过 第1章 C语言概述 1.1.C语言属高级语言;区分字母的大小写;以函数为基本单位采用模块化程 序设计;可直接访问内存;进而对硬件进行操作.. 1.2.用C语言编写和程序称作C源程序;简称C程序;C程序可由若干个文本 文件组成;文件扩展名为C使用C++编译器时默认扩展名为CPP..C源程序经编译、连接后得到扩展名为EXE的可执行文件目标程序.. 预处理编译、连接执行若干个C程序文件----→C程序------→目标程序文件--→ 1.3.C程序从主函数开始执行;每个C程序有且仅有一个主函数;因此;每个C 程序文件中至多有一个主函数.. 1.4.C语句以分号结尾;用{}括起来的一组语句称作复合语句;复合语句可省 略花括号之后的分号.. 1.5.允许一行内写多个C语句;也允许一个C语句占用多行;但保留字和标识 符不可拆行.. 1.6.在C集成环境VC++ 6.0中;新建工程、保存当前程序文件、编译当前程 序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S、F7、Ctrl+F5..

第2章 程序设计的灵魂——算法 2.1. 解决问题的方法和步骤称作算法..算法和数据结构是程序的两个主要 要素.. 2.2. 算法具有确定性、有穷性、有效性等特点.. 2.3. 算法可用自然语言、流程图、N-S 图、计算机语言、伪代码等描述..伪 代码是用介于自然语言和计算机语言之间的文字和符号来描述算法.. 2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构.. ↓ ↓ ↓ ↓←- -- Y ┌ 条件 ┐N 条件 ┐N │ │ │ │ 条件 ┘Y --- ← ┘ ↓N 图2.2 顺序结构 图2.3 选择结构 图2.4 当循环 图2.5 直到循环 图直到循环

c语言程序设计笔记整理

c语言程序设计笔记整理 【最新版】 目录 一、C 语言概述 1.C 语言的发展历程 2.C 语言的特点 二、C 语言编程基础 1.数据类型 2.运算符与表达式 3.控制结构 4.函数 5.指针与内存管理 6.数组、字符串与结构体 7.文件操作 三、C 语言编程实践 1.编程思路与方法 2.代码调试与优化 3.常见编程错误及解决方法 四、C 语言编程应用实例 1.实例一:计算器 2.实例二:简易文本编辑器 3.实例三:图书管理系统

五、C 语言编程的未来发展与展望 正文 一、C 语言概述 C 语言是一种通用的、过程式的计算机程序设计语言。它于 1972 年由美国计算机科学家丹尼斯·里奇(Dennis Ritchie)在贝尔实验室创立。 C 语言的发展历程经历了多个阶段,从最初的 Unix 操作系统中的 C 语言,到今天的 C99、C11 等标准。 C 语言具有以下特点: 1.简洁性:C 语言的语法简单,易于学习和掌握。 2.高效性:C 语言编译后的程序运行速度较快。 3.可移植性:C 语言程序可以在不同的硬件平台和操作系统上运行,只需少量或不需要修改。 4.强大的控制结构:C 语言提供了丰富的控制结构,可以实现各种复杂的逻辑控制。 二、C 语言编程基础 C 语言编程基础包括以下几个方面: 1.数据类型:C 语言提供了基本数据类型如整型、浮点型、字符型等,还支持自定义结构体、联合体、枚举等复合数据类型。 2.运算符与表达式:C 语言提供了各种算术、逻辑、位运算等运算符,支持用户自定义表达式进行计算。 3.控制结构:C 语言提供了条件语句(if-else)、循环语句(for、while、do-while)等控制结构,用于实现程序的逻辑控制。 4.函数:C 语言支持自定义函数,实现代码的模块化、重用。函数可以返回值,也可以带有参数。

C语言复习重点

《C语言程序设计》复习重点 第一章C语言概述 1、C语言的特点包括:结构化的程序设计语言、语句简洁、紧凑,功能强大、移植性好等等,重要的一点是它允许直接对硬件进行操作。 2、C程序由函数组成,一个C程序必须包含一个main函数,也可包含一个main函数和若干个其他函数。main函数的位置可以任意,但C 程序总是从main函数开始执行的。 3、C程序的每个语句和数据声明的最后必须有一个分号。 4、开发一个C程序,要经过编辑、编译、连接和运行四个步骤,形成.c和.obj以及.exe三个文件。 5、可以使用VC++ 6.0编辑和运行C程序。 习题1-1 #include void main ( ) { printf ("**************************\n"); printf(" Very Good!\n"); printf ("**************************\n"); } 习题1-2 #include void main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max

《C语言程序设计》知识点总结

C语言最重要的知识点 总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是它的地址. 4)bit是位是指为0 或者1。 byte是指字节, 一个字节 = 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中main函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、for循环中for语句写成 for(i=0; i<100; i++); ,这个写法是有问题的,for的后面如果出现分号,相当于for循环体是空的。 7、break可用于循环结构和switch语句。 8、逗号运算符的级别最低,赋值的级别倒数第二。 第一章C语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个main函数,是程序运行的起点。 第二节、熟悉vc++ 1、VC是软件,用来运行写的C语言程序。 2、每个C语言程序写完后,都是先编译,后链接,最后运行。(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。 第三节、标识符 1、标识符 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、保留标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。容易误解的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 保留标识符:是系统保留的一部分标识符,通常用于系统定义和标准库函数的名字。例如,以下划线开始的标识符通常用于定义系统变量,不能使用把这些标识符来定义自己的变量。虽然它们也是合法的标识符,但是用它们来做一般标识符可能会出现运行错误。 用户标识符:基本上每年都考,详细请见书上习题。 用户标识符用来为变量、符号常量、数组、函数等取名。关键字不可以作为用户标识符。 第四节:进制的转换

C语言程序设计复习题(含答案及标注 )

C语言程序设计 复 习 题

目录 选择题 (3) 知识点1:C程序的基本结构和算法基本概念 (3) 知识点2:数据和表达式计算 (4) 知识点3:输入输出 (4) 知识点4:逻辑量和逻辑表达式 (5) 知识点6:选择结构和if、switch 语句 (6) 知识点7:循环结构 while 、do~while和for语句 (7) 知识点8:数组的基本概念和引用 (8) 知识点9:变量的作用域和生存期 (9) 知识点10:函数 (9) 知识点11:指针及其应用 (10) 知识点12:结构体和共用体 ............................................................................. 错误!未定义书签。程序填空题 (10) 写出程序运行的结果 (15) 知识点1:选择结构 (15) 知识点2:循环结构 (16) 知识点3:数组 (18) 知识点4:函数 (19) 知识点5:指针 (20) 编程题 (22)

选择题 知识点1:C程序的基本结构和算法基本概念 1.C语言程序的基本单位为_______。 A) 程序行B) 语句C) 函数D) 字符 2.用C语言编写的代码程序______。 A)可立即执行B)是一个源程序C)经过编译即可执行D)经过解释就能执行 3.以下叙述中正确的是______。 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 4.结构化程序由三种基本结构组成,三种基本结构组成的算法____。 A)可以完成任何复杂的任务B)只能完成部分复杂的任务 C)只能完成符合结构化的任务D)只能完成一些简单的任务 5.在一个C程序中______。 A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 6.下列关于C语言的叙述错误的是______。 A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以出现在同一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D某些运算符号在不同的场合可以有不同的含义 7.以下叙述中错误的是_______。 A)C程序中的#include和#define行均不是C语句 B)除逗号运算符外,赋值运算符的优先级最低 C)C程序中,j++;是赋值语句 D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算 8.以下程序的功能是给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是________。 main() /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); } A)注释语句书写位置错误B)存放圆半径的变量r不应该定义为整型 C)输出语句中格式描述符非法D)计算圆面积的赋值语句中使用了非法变量

C语言程序设计(第四版)复习资料

C 语言程序设计(第四版)复习资料 1、机器语言: 由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。 2、汇编语言: 汇编语言将机器指令映射为一些可以被人读懂的助记符,如ADD 、SUB 等。 3、高级语言: 高级语言屏蔽了机器的细节,提高了语言的抽象层次,程序中可以采用具有一定涵义的数据命名和容易理解的执行语句。这使得在书写程序时可以联系到程序所描述的具体事物。 高级语言:包括面向过程的高级语言和面向对象的高级语言 。 4、C 语言的特点: 丰富的数据类型、结构化的控制语句、运算符种类丰富、可移植性好。 5、C 语言三类函数及其采用意义: 主函数,用户自定义函数,C 语言提供的库函数,意义:函数可以简化了主函数以及实现模块化程序设计。 6、程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境 7、 8、实型常量指数形式:1.2×10-3 --------- 1.2e-3 例如123.456可以表示为: 123.456e0、12.3456e1、1.23456e2、… 把其中的1.23456e2称为“规范化的指数形式”: 即在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。 9、所有的实型常量均视为双精度类型。 10、字符常量是指用一对单引号括起来的一个字符。如 ‘ a ’ , ‘9’ , ‘!’ 11、(1) 基本整型 :以int 表示。 (2) 短整型:以short int 表示,或以short 表示。 (3) 长整型:以long int 表示,或以long 表示。 取值范围:long>=int>=short int 型变量的值范围:-32768~32767 12、无符号型变量只能存放不带符号的整数,而不能存放负数。一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围扩大一倍。 ()()()()()() ()()()⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎩⎨⎧⎪⎩⎪⎨⎧union struct enum char void double f loat long short C 共用体型结构体型数组型枚举型构造类型字符型空类型指针类型双精度型单精度型浮点型实型长整型短整型基本整型整型基本类型语言的数据类型)()(int

C语言程序设计 复习

1 常量: #define PI 3.14 字符常量:例如:‟a‟(单引号、只能一个字符) 字符串常量:例如:”abc”(双引号、可以是一个字符,也可以是多个字符、 字符串一定有结束标记‟\0‟) 字符型数据在内存中存放的是字符的ASCII 码。 2 变量: (1) 变量名: 只能由字母、数字、下划线3种字符组成 并且第1个字符必须是字母或者下划线,不能是数字。 (2) int整型变量的范围: -32768~32767(两个整数相除结果一定是整数例如5/2的结果是2,不是2.5。 如果想得到2.5,可以使用(float)5 / 2,不能是(float)(5/2),强制类型转变) (3) ++(--): n=1; printf(“%d”,n++); 先输出1,n的值再变为2。 n=1; printf(“%d”,++n); n的值先变为2,再输出n的值2。 (4) 复合赋值运算符: 例如a*=b+3 相当于a=a*(b+3) 注意b+3应加括号 (5) = 与= = 的区别: =是赋值运算符,例如a=3;(将3放到变量a中) = = 表示相等的意思,例如a= =b;(判断a b是否相等,如果相等,结果是1(表示成立),如果不等,结果是0(表示不成立)) (6) 常用运算符的优先级: 从高到低: 逻辑非运算符(!) 算术运算符((* / %)——>(+ - )) 关系运算符((> >= < <=)——>(= = !=)) 逻辑与、或运算符((&&)——>(||)) (7) 常用变量所需字节数: char 字符型1个字节 int 整型2个字节 float 浮点型4个字节 (8) 逗号表达式 a=1,b=a+1,c=b+2 先做a=1,再做b=a+1,最后做c=b+2, 整个逗号表达式的值是最后一个表达式的值,本例中为4

相关文档
最新文档