现在位置: 首页 > eric发表的所有文章
  • 09月
  • 05日
08 指针 ⁄ 共 1121字 动态存储分配已关闭评论
静态分配就是在编译程序的时候就确定空间,动态分配就是在运行过程中由程序本身根据需要来确定空间。 malloc语法 void *malloc( size_t size );void *malloc( size_t size ); 说明:malloc向系统申请分配指定size个字节的内存空间,返回类型是 void* 类型,void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。 malloc往往和free配对使用,free用于释放相应的内存。 void free( void *ptr);void free( void *ptr); 1 2 char *p; p=(char *)malloc(sizeof(c......
阅读全文
  • 09月
  • 02日
10 结构体 ⁄ 共 691字 程序设计快速入门04 结构体和链表已关闭评论
自定义数据类型 【问题:选出高于平均成绩的学生名单】 学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include <stdio.h> #define N 12 typedef struct { char num[10]; double score; } Student;   dou......
阅读全文
  • 09月
  • 01日
09 字符串和指针 ⁄ 共 144字 二级程序设计题高频考点:选择性复制数组和字符串已关闭评论
选择性复制数组和字符串在全国二级C分值高达24分的程序设计题中屡见不鲜。 【问题:复制数组】 函数的功能:将数组s(长度为n)的所以元素复制到数组t,返回复制的元素的个数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> int copy_array(int s[], int t[], int n) { int i, j=0; for (i=0; i<n; i++) t[j++] = s[i]; return j; }   int main() { int s[6] = {3,6,9,11,1......
阅读全文
  • 08月
  • 31日
04 循环结构 ⁄ 共 283字 for循环:求1~100之和已关闭评论
三种基本方式:for、while和do while 【问题:求1+2+......+100之和】 计算机无法识别......,但这种运算可以用循环来表示。 1 2 3 4 5 sum = 0; sum = sum + 1; sum = sum + 2; ...... sum = sum + 100;sum = 0; sum = sum + 1; sum = sum + 2; ...... sum = sum + 100; 计算机最常用的一个操作就是累加,就是在原来的基础上增加。上面的运算可以简化成两步:初始化,重复累加 1 2 sum = 0; sum = sum + i; i 的范围是[1..100],重复100次sum = 0; sum = sum + i; i 的范围是[1..100],重复100次 重复的......
阅读全文
  • 08月
  • 31日
02 运算和数据类型 ⁄ 共 950字 符号常量,浮点数(计算圆的周长和面积)已关闭评论
【问题:圆的周长和面积】 根据圆的半径求圆的周长和面积,PI值保留3位小数,为3.142。 输入是半径,是一个浮点数。 输出为周长和面积,结果保留2位小数,分两行输出,第一行是圆的周长,第二行是圆的面积。 1 2 3 4 5 6 7 8 9 10 11 12 #include <stdio.h> #define PI 3.142 int main() { double radius, circumference, area; scanf("%lf", &radius); circumference = 2 * PI * radius; area = PI * radius * radius; printf("%.2f\n", circumfere......
阅读全文
  • 08月
  • 13日
二级考点 ⁄ 共 322字 结构化程序设计已关闭评论
结构化程序设计(structured programming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。 其概念最早由E.W.Dijikstra在1965年提出的,是软件发展的一个重要的里程碑。它的主要观点是采用自顶向下、逐步求精及模块化的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、循环三种基本控制结构构造。结构化程序设计主要强调的是程序的易读性。 2010-09-C-11:以下关于结构化程序设计的叙述中正确的是 A. 在C语言中,程序的模块化是利用函数实现的 B. 结构化程序使用goto语句会很便捷 C. 一个结构......
阅读全文
  • 08月
  • 13日
03 分支结构 ⁄ 共 516字 选择结构的嵌套已关闭评论
选择结构的嵌套 2011_3_C_16:阅读程序 1 2 3 4 5 6 7 8 9 10 11 #include <stdio.h> int main(int argc, char *argv[]) { int x=1,y=0; if (!x) y++; else if(x==0) if (x) y+=2; else y+=3; printf("%d\n",y); return 0; }#include <stdio.h> int main(int argc, char *argv[]) { int x=1,y=0; if (!x) y++; else if(x==0) if (x) y+=2; else y+=3; printf("%d\n",y)......
阅读全文
  • 08月
  • 13日
09 字符串和指针 ⁄ 共 135字 字符串与字符数组已关闭评论
字符串与字符数组 下面程序的输出结果是____________。 1 2 3 4 5 6 7 8 9 10 11 12 13 // 2011_3_C_21   #include <stdio.h> int main() { char s[]="012xy\08s34f4w2";   int i,n=0; for(i=0; s[i]!=0; i++) if (s[i]>='0'&&s[i]<='9') n++; printf("%d\n",n); return 0; }// 2011_3_C_21 #include <stdio.h> int main() { char s[]="012xy......
阅读全文
  • 08月
  • 13日
02 运算和数据类型 ⁄ 共 1417字 逗号表达式已关闭评论
逗号表达式在实际编程中运用的并不多。 C语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60。 逗号表达式的形式如下:表达式1,表达式2,表达式3,...... ,表达式n 逗号表达式的要领: (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。 (2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。 (3) 逗号运算符的优先级别在所有运算......
阅读全文
  • 08月
  • 13日
08 指针 ⁄ 共 231字 用指针作函数参数已关闭评论
用指针作函数参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 2011_09_C_27   #include <stdio.h> void fun(int *p) { printf("%d\n",p[5]); }   int main(int argc, char *argv[]) { int a[10]= {1,2,3,4,5,6,7,8,9,10}; fun(&a[3]); return 0; }// 2011_09_C_27 #include <stdio.h> void fun(int *p) { printf("%d\n",p[5]); } int m......
阅读全文
  • 08月
  • 13日
二级考点 ⁄ 共 157字 C语言程序的结构已关闭评论
C语言程序的结构 一个C程序只能有一个主函数,可以包含多个不同名的函数,主函数必须用main作为函数名。 以下叙述中错误的是________。 A. C程序的主函数必须用main作为函数名 B. C程序在书写时,有严格的缩进要求,否则不能编译通过 C. 一个C程序只能有一个主函数 D. 一个C程序中可以包含多个不同名的函数 答案是B。
阅读全文
  • 08月
  • 13日
二级考点 ⁄ 共 293字 不同类型数据间的转换与运算已关闭评论
不同类型数据间的转换与运算 2011_09_C_14:若有定义语句:int a=10; double b=3.14;,则表达式'A'+a+b值的类型是___________。 A. float B. char C. int D. double 答案是D。根据表达式运算规则,所有数据在混合运算中,一律向上一级换算原则。本题最高级是双精度,所以最后表达式类型应是double。 2011_9_C_15:若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为___________。 A. 2 B. 1.9 C. 2.4 D. 1 答案是D。x/y=1, 0.9+1=1.9,但 z 是整型,所以结果是1。
阅读全文