欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    C语言基本概念.docx

    • 资源ID:3060691       资源大小:43.96KB        全文页数:17页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言基本概念.docx

    C语言基本概念C语言基本概念 1、在一个C语言源程序中,必不可少的是 main函数定义 。 2、以下叙述中正确的是 D 。 A在编译时可以发现注释中的拼写错误 BC语言程序的每一行只能写一条语句 Cmain( ) 必须位于程序的开始 DC语言程序可以由一个或多个函数组成 3、以下叙述中正确的是 C 。 A. C语言系统以函数为单位编译源程序 B. main函数必须放在程序开始 C. 用户定义函数可以被一个或多个函数调用任意多次 D. 在一个函数体内可以定义另外一个函数 4、下列叙述中正确的是 C 。 A. main函数必须出现在其他函数之前 B. main函数中至少必须有一条语句 C. C程序总是从main函数的第一条语句开始执行 D. C程序总是在执行完main函数的最后一条语句后结束 5、以下叙述中正确的是 C A) C程序中的注释只能出现在程序的开始位置和 语句的后面。 B) C程序书写格式严格,要求一行内只能写一个语句 C) C程序书写格式自由,一个语句可以写在多行上 D) 用C语言编写的程序只能放在一个程序文件中 基本类型数据的表示及使用 系统预定义类型标识符、类型修饰符的使用 基本类型常量的表示及使用 字符串常量形式 关键字。标识符。 符号常量的定义与使用 基本类型变量的声明、初始化, 直接引用变量 1、在C语言源程序中,不带任何修饰符的浮点数直接量都是按 double 类型数据存储的。 2、已知sizeof(int)的值为2,为将10!的值存储到变量f中,变量f的类型应声明为 A 。 Along int Bint Cshort int Dunsigned int int型 -32768 32767 3、以下常量表示中正确的是 B 。 A. xff B. 5L C. aEb D. 4、以下语句中有语法错误的是 A 。 A. printf("%d",0e); B. printf("%f",0e2); C. printf("%d",0x2); D. printf("%s","0x2"); 5、以下选项中不能用作变量名的是 B 。 A_float Bswitch Csum D_123 6、若有声明“int x;”且sizeof(x)的值为2,则当x值为 32767 时“x+1>x”为假。 7、以下选项中, D 是C语言关键字。 Aprintf Binclude Cfun Ddefault 关键字 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while 8、执行语句“printf(”byebye101101“);”时输出到屏幕的结果为 byye101A 。 n t ddd xhh 0 9、以下局部变量声明中正确的是 D 。 A. int char=2; B. void a=0; C. int a=b=0; D. int a, b=a=0; 运算符和表达式的表示及使用 赋值表达式,赋值运算符的求值要求 算术表达式。+、-运算符求值要求。溢出。 关系表达式与逻辑表达式,逻辑表达式优化处理 逗号表达式 条件表达式 表达式运算中操作数类型自动转换与强制转换 1、 若有声明“double x=3,c,*a=&x,*b=&c;”,则下列语句中错误的是 C 。 Aa=b=0; Ba=&c,b=a; C&a=&b; D*b=*a; 2、设有定义和声明如下: D #define d 2 int x=5; float y=3.83; char c='d' 以下表达式中有语法错误的是 。 A.x+ B.y+ C.c+ D.d+ 3、已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是 A 。 A. !a&&!b&&c B. !a|!b|c C. a=b&&b>=c D. a>=b&&b>c 4、C语言中有!、&& 、| 三个逻辑运算符,其中优先级高于算术运算符的是 ! 。 5、已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为 A 。 A. 0 B. 3 C. 3.5 D. 4 6、已知有声明“char ch=g;”,则表达式ch= ch-a+A的值为字符 G 的编码。 4ax ¹7、数学式 对应的C语言表达式为 。 bc 答案:sqrt(fabs(x)!=4*a/(b*c) 或 sqrt(fabs(x)!=4*a/b/c 8、已知有声明 “ int a=12, b=15, c; ”,则执行表达式 “c =( a|(b - = a )”后,变量b和c的值分别为 A 。 A3,1 B15,12 C15,1 D3,12 3x 所对应的C语言表达式为pow(x, )。 9、数学式 答案:1.0/3 10、以下选项中,不能表示函数功能的表达式是 C 。 A. s=(x>0)?1:(x<0)?-1:0 ì1 B. s=x<0?-1:(x>0?1:0) ï C. s=x<=0?-1:(x=0?0:1) sign(x)=í0 D. s=x>0?1:x=0?0:-1 ï-1î x>0x=0x<010、已知有声明“int a=3,b=4;”,下列表达式中合法的是 C 。 A. a+b=7 B. a=|b| C. a=b=0 D. (a+)+ 11、已知有声明“int a=1,b=2;”,执行语句 “while(-a > 0&& -b>0) a=b;”后变量a、b的值是 A 。 A. 0,2 B. 0,1 C. 1,1 D. 2,2 顺序结构的语句 表达式语句,空语句,复合语句,函数调用语句 标准输入输出库函数printf, scanf,getchar , putchar ,gets,puts 1、已知某编译系统中sizeof(int)的值为2,在该编译系统中执行以下 B 语句时输出结果不是39999。 0-65535 A. printf("%u",39999); B. printf("%d",39999); C. printf("%ld",39999); D. printf("%lu",39999); 2、 若有声明“float f=123.45678;”,则执行语句“printf( ”%.3f“,f );”后,输出结果是 B 。 . 1.23e+02 . 123.457 . 123.456780 . 1.234e+02 3、已知有声明“char s80;”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是 A 。 A. scanf("%s",s); B. scanf("%s",s0); C. s=gets; D. s=getchar; 4、 已知有声明和语句“ int a ; scanf ( ”a=%d”, &a); ”,欲从键盘上输入数据使a中的值为3,则正确的输入应是 。 答案:a=3 选择结构语句: if-else,switch 1、若在一个C语言源程序中“e1”和“e3”是表达式,“s;”是语句,则下列选项中与语句 “for(e1; ;e3)s;”功能等同的语句是 B 。 A. e1;while(10)s;e3; B. e1;while(10)s;e3; C. e1;while(10)e3;s; D. while(10)e1;s;e3; 2、已知有声明“ int x, y; ”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误的是 C 。 A. if(x>=0)y=1;else y=-1; B. y=x>=0?1:-1; C. switch D. switch(x-abs(x) case x>=0: y=1; break; case 0: y=1; break; default: y=-1; default: y=-1; 3、已知有声明“int a=1,b=2,c=0;”,执行语句“ if (a>b) c=a; a=b; b=c;”后变量a、b的 值是_。 答案 2.0 5、 下列程序运行后的输出结果第一行是 (1) ;第二行是 (2) 。 #include <stdio.h> main( ) int i, a=0, c=2; 答案: (1) 23 for ( i=0; i<2; i+ ) (2) other switch ( +a , a*c) case 1: printf("1"); case 2: printf("2"); case 3: printf("3n");break; default: printf("othern"); 实现循环结构的语句: while,do-while,for,goto 1、若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句是.for(j=15;j>0;j-=2) k+; B. for(j=0;j<15;j+=2) k+; .for(i=0;i<15;i+=2) k+; .for(i=15;i>0;i-=2) k+; 2、以下语句中有语法错误的是 B 。 A. for(; ;); B. do ; while(1); C. while; D. p: ; goto p; A 。 3、以下程序运行时输出结果是 。 #include <stdio.h> main int s=1,n=235; do s*=n%10; n/=10; while(n); printf("%dn",s); 答案: 30 跳转语句: break,continue,return 1、有以下程序 #include <stdio.h> main int x=8; for(;x>0;x-) if(x%3) printf("%d,", x-);continue; printf("%d,", -x ); 程序的运行结果是( D )。 A) 7,4,2, B) 8,7,5,2, C) 9,7,6,4, D) 8,5,4,2, 构造类型数据 基本类型数组 数组声明及初始化 数组存储结构 使用数组名引用数组元素 1、以下声明中错误的是 C 。 Aint a2; Bint a =0,1; Cint a3=0; Dint a34=0; 2、下列选项中,能正确定义数组的语句是。 A. int N=10; B. #define N 10 int XXN; int XXN; C. int XX0.10 ; D. int XX; 3、已知有声明“int m=5,4,3,2,1,i=0;”,下列对m数组元素的引用中,正确的是 B 。 A. m-i B. m2*2 C. mm0 D. mmi 4、已知有声明“char s20=”Hello“;”,在程序运行过程中,若要想使数组s中的内容修改为“Good”,则以下语句中能够实现此功能的是 D 。 As="Good" Bs20="Good" Cstrcat(s,"Good"); Dstrcpy(s,"Good"); 5、以下程序运行时输出结果的第一行是 ,第三行是 #include <stdio.h> void main( ) int i,j,a33; for(i=0;i<3;i+) for(j=0;j<3;j+) if(i<j) aij=1; 生成矩阵: else 1 1 1 aij=i-j+1; 2 1 1 for(i=0;i<3;i+) 3 2 1 for(j=0;j<3;j+) printf("%4d",aij); printf("n"); 答案: (1) 1 1 1 (2) 3 2 1 结构类型变量与数组 定义结构类型 结构类型变量、数组声明及初始化 用变量名引用结构变量的全体成员 用变量名引用结构变量的基本类型成员 1、以下结构变量stu1的声明形式中,错误的是 D 。 typedef struct stu char name10;float score;STU ; STU stu1; #define STU struct stu STU char name10;float score; stu1; struct stuchar name10;float score;stu1; struct stu char name10;float score;STU; STU stu1; 。 2、若有定义 struct c double x,y; c1=1.2,1.3,c2=1.2,1.3,c3; struct d double x,y; d1=1.2,1.3,d2=1.2,1.3,d3;”, 则以下表达式中正确的是 C 。 A.c3=0 B.c1=c2 C.c3=c1 D.d3=c1 3、以下程序运行后的输出结果第一行是 ; 第二行是 。 #include <stdio.h> struct num int x,y ; 10 st =1,10,2,20,3,30,4,40,-1,-1,s12,s22; 20 main 30 int i=0,j=0,k; 40 for ( k=0; stk.x != -1; k+ ) -1 -1 if ( stk.x%2 ) s1i+ = stk ; else s2j+ = stk ; printf ( " %d n %d n", s10.y , s20.y ); 答案: (1) 10 (2) 20 基本类型变量的指针操作 基本类型变量地址的获取与保存。 指向基本类型变量的指针变量声明、初 始化与赋值。 引用指针变量指向的基本类型变量 1、若有声明 char *p = “ %d , %dn" int a=1, b=2;则执行语句“printf ( p,a,b);” 时输出 。 答案:1, 2 2、有以下程序 #include<stdio.h> main int m=1, n=2, *p=&m, *q=&n, *r; r = p ; p = q ; q = r ; r = p printf ( “%d, %d, %d, %dn”, m, n, *p, *q ); p = q q = r 程序运行后的输出结果是 B A) 1, 2, 1, 2 B) 1, 2, 2, 1 C) 2, 1, 2, 1 D) 2,1, 1, 2 3、有以下程序 #include<stdio.h> #include<stdlib.h> int fun(int n) int *p; p=(int *)malloc(sizeof(int); *p=n; return *p; main int a; a=fun(10); printf(“%dn”,a+fun(10); 程序的运行结果是。 A) 0 B) 10 C) 20 D) 出错 基本类型数组的指针操作 基本类型数组元素地址的获取、保存与算术运算。 引用指针变量指向的基本类型数组元素 二维数组行地址的获取、保存及算术运算。行指针变量的声明、初始化。 引用行指针变量指向的基本类型数组元素 1、 设指针变量占2个字节的内存空间,若有声明 “char *p=123; int c; ”,则执行语句“c=sizeof(p);”后,c的值为 B 。 A. 1 B. 2 C. 3 D. 4 2、若有声明“ int x10=0,1,2,3,4,5,6,7,8,9, *p; ”,则值 不为4的表达式是 C 。 Ap = x, *(p+4) Bp=x+4,*p+ Cp=x+3,*(p+) Dp=x+3,*+p 3、已知有程序段 char str 10="Aoyun","Beijing", *p=&str00; printf("%sn",p+10);, 则执行printf语句后输出为 A 。 ABeijing BAoyun Cing Dng 4、已知有声明“int i,a10,*p=a;”,现需要将110保存到 a0a9中,以下程序段中不能实现这一功 能的是 D 。 A. for(i=0;i<10;i+) ai=i+1; B. for(i=0;i<10;i+) pi=i+1; C. i=1;while(p<a+10) *p+=i+; D. i=1;while(p<a+10) *a+=i+; 5、已知有声明:“char a ="It is mine", *p="It is mine"”,下列叙述中错误的是 B 。 A. strcpy(a,“yes”)和strcpy(p,“yes”)都是正确的 B. a=“yes”和p=“yes”都是正确的 C. *a 等于*p D. sizeof(a)不等于sizeof(p) 结构类型变量、数组的指针操作 结构变量地址、结构数组元素地址的获取与保存。指向结构变量指针变量的声明、初始化与赋值。 引用指针指向的结构类型变量的基本类型成员 结构变量成员的地址、结构数组元素成员的地址获取与保存。指向结构变量成员的指针变量声明、初始化与赋值。 1、 已知有结构定义和变量声明如下: struct student char name20; int score; struct student *h; stu,*p; int *q; 以下选项中错误的是 C 。 Ap=&stu; Bq=&stu.score; Cscanf("%s%d",&stu); Dstu.h=p; 2、设有结构定义及变量声明如下: struct product char code5; float price; y4="100",100; 以下表达式中错误的是 D 。 A. (*y).code0='2' B. y0.code0='2' C. y->price=10; D. (*y)->price=10; 指针类型数组的声明和使用 1、有以下程序 #include<stdio.h> main char *a ="abcd","ef","gh","ijk" int i; for(i=0;i<4;i+) printf("%c",*ai); 程序运行后输出的结果是 A A)aegi B)dfhk C)abcd D)abcdefghijk 函数 (1) 函数定义、函数声明、函数调用 (2) 函数调用时基本类型实参的传递与使用。实参与形参的类型兼容性要求。实参类型的自动转换 1、以下函数定义中正确的是 A 。 A. double fun(double x,double y) B.。 A) 3 B) 4 C) 5 D) 8 5、若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是 D 。 A. 实参和其对应的形参占用同一存储单元 B. 形参不占用存储单元 C. 同名的实参和形参占用同一存储单元 D. 形参和实参占用不同的存储单元 函数返回值的产生 1、已知有函数定义“int funreturn (3,4);”,则调用fun后的函数返回值是 。 答案: 4 2、 以下叙述中错误的是。 A)用户定义的函数中可以没有return语句 B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值 C)用户定义的函数中若没有return语句,则应当定义函数为void类型 D)函数的return语句中可以没有表达式 局部变量、形式参数的存储类型和生存期 1、在函数f中声明了局部变量x,如希望f函数第一次被调用返回后变量x中存储的数据保持到下次f函数被调用时仍可使用,则在声明x时必须指定其存储类型为 C 。 A. auto B. register C. static D. extern 2、声明局部变量若缺省存储类别,该变量的存储类别是 。 答案:auto 3、可以改变局部变量的生存期、但不能改变它的作用域的存储类别是 。 答案:static 预处理命令 #define命令 #include命令 1、C语言有效的预处理命令总是以 (4) 开头。 答案: # 2、以下程序运行时输出到屏幕的结果为 。 #include<stdio.h> #define MAX(A,B) A>B ? 2*A : 2*B a+b>c+d?2*a+b:2*c+d void main int a=1,b=2,c=3,d=4,t; 答案:10 t=MAX(a+b,c+d); printf("%dn",t); 3、以下程序运行后的输出结果是 6 。 #include <stdio.h> #define Count(n) +n main ( ) int x=-3 ,n=8; while(Count(x) n-; printf("%dn",n); 4、以下程序运行时输出结果是 Odd 。 #define EVEN(x) x%2=0?1:0 main if (EVEN(5+1) printf("Even"); else printf("Odd"); 5、以下叙述中错误的是( D )。 A)在程序中凡是以“#”开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的 综合练习 1、若程序中已有相应的声明,下列语句中错误的是 D 。 printf (i=4 ? "%6dn" : "%6d" , i ); i=4 ? printf("%6dn",i ) : printf("%6d" , i ) ; for (i=10 ; ; i-) if(i=1) break; for (i=10 ; ; ) if(i-); break; 2、以下程序的输出结果是_ #include <stdio.h> main int j,a=1,3,5,7,9,11,13,15,*p=a+5; for( j=3; j; j- ) switch(j) case 1: case 2: printf(“%d ”,*p+); break; case 3: printf(“%d ”,*(-p); 答案:9 9 11

    注意事项

    本文(C语言基本概念.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开