复习题.

Slides:



Advertisements
Similar presentations
《C语言程序设计》复习
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
“八皇后”问题 崔萌萌 吕金华.
第一章 C语言概述 计算机公共教学部.
C语言实验 第一课 标题:学号+姓名.
第九章 指针 目录 指针与指针变量的概念 变量的指针和指向变量的指针变量 数组的指针和指向数组的指针变量
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
C语言程序设计 第八章 函数.
C语言程序设计 第十二章 位运算.
复习与总结.
C 程序设计实例 1. 问题描述 2. 数据结构 3. 算法分析 4. 参考程序 5. 改进说明.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
選擇排序法 通訊一甲 B 楊穎穆.
C++程序设计 第二讲 清华大学软件学院.
项目六 用指针优化学生成绩排名 项目要求 项目分析
程序讲解 第一题: 将指定文件的m行到n行字符写到显示屏上,m和n值从键盘输入。 运行时输入及结果: please enter m,n:
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Chap 8 指针 8.1 寻找保险箱密码 8.2 角色互换 8.3 冒泡排序 8.4 电码加密 8.5 任意个整数求和*
C语言程序设计 李祥.
語法與修辭 骨&肉 老師:歐秀慧.
Introduction to the C Programming Language
6.4.1指针与二维数组 1、二维数组结构的分析 设有数组定义为:int a[3][4]; 则有: a表示数组在内存中的首地址。
第3章 堆栈和队列 堆栈 堆栈应用 队列 队列应用 优先级队列 主要知识点.
C语言 程序设计基础与试验 刘新国、2012年秋.
fp=fopen("CD2.dat","wb"); fwrite(&min,8,1,fp); fclose(fp);
多维数组与指针 用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念上和使用上,多维数组的指针比一维数组的指针要复杂一些。 1. 多维数组元素的地址 先回顾多维数组的性质,可以认为二维数组是“数组的数组”,例 : 定义int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};
THE C PROGRAMMING LANGUAGE
第9章 文件操作 文件 使用文件的目的 操作系统管理数据的基本单位 存储在外存储器上的数据的集合
第八章 使用指针.
第五章 习题课 电子信息与计算机科学系 曾庆尚.
第三章 数据类型、运算符与表达式.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
一、文件的基本概念 第十三章 文 件 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
資料結構與C++程式設計進階 排序與搜尋 講師:林業峻 CSIE, NTU 6/ 14, 2010.
程式結構&語法.
C语言复习3----指针.
第三章 C++的语句和简单的程序设计 主要内容:
第 二 章 数据类型、运算符与表达式.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第十四章 若干深入问题和C独有的特性 作业: 函数指针 函数作参数 函数副作用 运算 语句 位段 存储类别 编译预处理
C程序设计.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
第2章 认识C语言 教学要点 2. 1 项目二C语言程序识读 2 .2 项目三班级成绩排名 2 .3 知识链接 返回.
C程序设计.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第九节 赋值运算符和赋值表达式.
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第二章 类型、对象、运算符和表达式.
程序设计基础.
#include <iostream.h>
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第13章 文 件.
第七章  数 组.
結構、檔案處理(Structure, File)
单片机应用技术 (C语言版) 第4章 C51程序设计入门
第七章 文件 7.1 文件的基本概念 7.2 文件类型指针 7.3 文件的打开与关闭 7.4 文件的读/写 7.5 文件的随机读/写
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
函式庫補充資料 1.
C语言基础学习 从外行到入门.
Presentation transcript:

复习题

在C语言中,下列表达式的值最大的是______. A.sizeof(‘a’) B.sizeof(97) C.sizeof(“aaaa”) D.sizeof(97.0) D

假设a=2, b=‘2’, s=“2”,下列逻辑表达式中值为1(真)的是_______. A.(s[1]>‘a’) || ~(a+b) B.(b>a) && (s[2]=‘\0’) C.!(s+1 && b-a) D.!a>b && ~(a>b) A

变量a=1, b=‘1’, c=1.0, d=“1”,下列运算不能进行的是_______. A.b/a-- B.~a|!b C.c^++a D.d+a-b C

设char a[]="0123456789abc"; int i=0, j=10;执行下列哪一条语句所得到的结果和其他三项不同_______. A.for ( ; i<=j; i++, --j) a[i]=a[j]; B.for ( ; i<=j; ) a[i++]=a[j--]; C.while ( i++ <= --j ) a[i]=a[j]; D.do { a[i]=a[j]; } while(++i < --j); C

下面四个选项中,均非浮点数正确表示的选项是_______. A. 160. 0.12 e3 B. -.18 123e4 0.0 C. -e3 .234 1e3 D. 123 2e4.2 .e5 D

若有函数声明void f(int. p);及int a[][3]={{1},{2},{3}}, 若有函数声明void f(int *p);及int a[][3]={{1},{2},{3}}, *c[3]={a[0], a[1],a[2]}; 则使得函数调用正确的是_______. A.f(a) B.f(c) C.f(*a) D.以上都不是 C

char s1[20]="China",s2[20]="for"; if(strcmp(s1,s2)) 以下程序段的输出结果是_______. char s1[20]="China",s2[20]="for"; if(strcmp(s1,s2)) printf("%s\n", strcat(s2,s1)); else printf("%d\n",strlen(s1)); A.3 B.5 C.Chinafor D.forChina B

假设a=5,b=1,在执行 t = a-b ? (b-a ? a<<2|b : b<<2|a) : a>>b|2之后,t的值为_______. C.6 D.1 A

若整型变量x=2,则表达式1<x<<x<4的值为__________. 1

已知unsigned short m = 65539; 则执行语句 printf("%d", m); 后的输出结果是__________. 3 65539 = 0x10003

以下程序的输出是__________. #include<stdio.h> #define F "first %s" #define D "string" void main( ) { char string[ ] = "character"; printf( F, D ); } first string

可将a按照保留两位小数的百分率形式输出,例如 a = 0.32049 就应输出32.05%(注意需有百分号). 假设a是一个float变量,语句: printf(____________); 可将a按照保留两位小数的百分率形式输出,例如 a = 0.32049 就应输出32.05%(注意需有百分号). “%.2f%%”,a*100

运行以下代码段,则输出结果中有__________个“#”. static int a[10] = {1*10}, i=0; while (a[i++]) printf("#"); 1

下列程序段的输出是__________. 7 int c=0,k; for (k=1;k<3;k++) switch (k) { default: c+=k; case 2: c++; case 4: c+=2; } printf("%d\n",c); 7

下列程序段的输出是__________. int n=2,k=0; while( k++ && ++n>2 ); printf("%d %d\n",k,n); 1 2

以下程序段运行的结果是__________. int i,j,sum; for(i=11;i>=1;i-=3){ for(j=1;j<=i;j+=2); sum+=i*j, sum=i+j; } printf("%d\n",sum); 12

对于以下代码段,若输入“12e-0x34.56”(不含引号),则输出结果是___________. float f; char c; int d; scanf("%f%c%d", &f, &c, &d); printf("%.2f%c%d", f, c, d); 12.00x34

下列程序段的输出结果是__________. char s[]="xyz", *ps=s; while (*ps++); ps--; for(ps--; ps-s>=0; ps--) printf("%s#",ps); z#yz#xyz#

假设所有变量均为整型,则表达式 的值是__________. -24 关于运算符++/-- 执行 y和z的值是__________. x=3, y=4, x++, y+=y-=x*=y 的值是__________. -24 执行 x=3, y=x*=x++, z=x; y和z的值是__________. 9 10 关于运算符++/-- 1)作用在变量之前(前缀),优先级最高(单目运算符之列) 2)作用在变量之后(后缀),优先级最低(低于赋值,高于逗号)

下面下列程序的输出是_______. 6 #include<stdio.h> int t = 2; int fun ( int v, int *u ) { static int t = 1; t += 2**u - v; return t; } void main( ) int u = 4, v = 3; t += fun( u, &v ); printf("%d", fun( t, &u ) ); 6

如果输入为:AAA22Bb#44dD,那么下面程序的运行结果是______________. #include <stdio.h> void main() { char s[32], oldc='\0', cc; int n = 0; while( (cc=getchar())!='\n' ) { if( cc==oldc ) continue; else if( cc=='#' ) break; else if( cc>='a' && cc<='z' || cc>='A' && cc<='Z' ) s[n++] = oldc = cc; } s[n] = '\0'; printf("%s\n",s); ABb

假定文本文件abc.txt中包含以下4行内容: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则运行下列程序后,将输出________。 #include <stdio.h> #include <math.h> void convert(int *p[], int k) { int i, j, t; for(i=0; i<k/2; i++) { for(j=0; j<k; j++) { t = p[i][j]; p[i][j] = p[k-1-i][j]; p[k-1-i][j] = t; }

main() { FILE *fp; int x, i, j, k, n=0, *p, **pp; fp = fopen("abc.txt", "r"); while(!feof(fp)){ fscanf(fp, "%d ", &x); n++; } fclose(fp); fp=fopen("abc.txt", "r"); k = sqrt(n); pp = (int **) malloc(k * sizeof(int *)); for(i=0; i<k; i++) pp[i] = (int *) malloc(k * sizeof(int)); for(j=0; j<k; j++) fscanf(fp, "%d ", pp[i]+j); fclose(fp); convert(pp, k); for(i=0; i<k; i++) printf("#%d", *(*(pp+i)+i) ); #13#10#7#4

下面程序读入一个无符号整数,然后调用函数convert将其表示为十六进制,并输出。 #include <stdio.h> void main() { char str[32]; unsigned int n; printf("输入一个正整数: "); scanf("%u", &n); __________ (5)___________; printf("%d的十六进制为:%s\n", n, str); }

void convert(unsigned int value, char void convert(unsigned int value, char *s) { static table[] = “___(1)___"; char temp, *tail = ___(2)____; do { *tail++ = table [value%16]; ______ (3)_______ ; } while( value ); *tail-- = '\0'; /* 颠倒字符串s的顺序 */ while( s<tail ) { temp = *s; *s++ = *tail; ______(4)_____ ; }

程序填空答案 (1) 0123456789ABCDEF (2) s (3) value = value/16 (4) *tail-- = temp (5) convert(n, str)

以下程序先读取文件input.txt中的字符串,然后对字符串进行排序,再把已排序的字符串中重复的字符删除,最后输出结果。例如,文件input.txt中保存的字符串为"abracadabra",则程序输出"abcdr"。其中函数sort()使用冒泡法从小到大排序,函数delete()删除已排序的字符串中重复的字符。 #include <stdio.h> #include <stdlib.h> #include <string.h>   void xchg(char p[]) { char t; t = p[0]; p[0] = p[1]; p[1]=t; }

char * sort(char s[]) { int i, j, n; n = strlen(s); for(i = n - 1; i>=1; i--) for(j=0; j<i; j++) if(s[j] > s[j+1]) xchg( (6) ); } return s; void delete(char *s) { char *p, b='\0'; int i=0, j=0; p = (char *) malloc( strlen(s)+1 ); while(*(s+i) != '\0') if( (7) ) i++; continue; } b = *(s+i); *(p + j++) = *(s + i++); *(p+j) = '\0'; (8) ; free(p);

void main() { FILE. fp; char a[100]; if((fp=fopen("input void main() { FILE *fp; char a[100]; if((fp=fopen("input.txt","r")) == NULL) printf("File open error!\n"); exit(0); } (9) ; delete( (10) ); puts(a); if(fclose(fp)) printf("Can not close the file!\n"); exit(0);

程序填空答案 (6) s+j 或 &s[j] (7) *(s+i) == b 或 s[i] == b (8) strcpy(s, p) (9) fscanf(fp,"%s",a) (10) sort(a)

End