1. 数组名 是表示数组空间首地址的指针常量,程序中不允许对常量赋值。

如 int  a[];   a就是数组名,表示数组控件首地址的指针常量

       a = 0;是错误的,不允许对指针常量赋值

      &a[0]  =  a;

        &a[1]  = a+1;

2.可以通过指针指向一个常量,但是不能通过指针修改常量的内容

如:char *p;

  p = "testing"

  *p = '0';

3.数组的 输入 int a[100];

  scanf("%d",&a[k]) 或 scanf("%d",a+k)

  &a[k]  = a+k

4.填空题  a.注意数组下标以及长度  b.读请题意 c.所有变量是否都用上  d.用 a[k++]可以移动赋值

5.二分搜索

  1. int binSearch(constint*Array,intstart,intend,intkey){
  2. int left,right;
  3. int mid;
  4. left=start;
  5. right=end;
  6. //注释中为递归算法,执行效率低,不推荐
  7. /*
  8. if(key<Array[mid]){
  9. return(binSearch(Array,left,mid,key));
  10. }else if(key>Array[mid]){
  11. return(binSearch(Array,mid+1,right,key));
  12. }else
  13. return mid;
  14. */
  15.  
  16. while(left<=right) //循环截止条件
    {
  17.   mid=(left+right)/;
  18.   if(key==Array[mid])
      {
  19.     return mid;
  20.   }
  21.   else if(key<Array[mid])
      {
  22.     right=mid-;
  23.   }
  24.   else if(key>Array[mid])
      {
  25.     left=mid+;
  26.   }
  27. }
  28. return -;
  29. }

6.

char *p = (char *) malloc(1000);       malloc(括号里放入长度)

在堆上分配了1000个字节的内存,返回这块内存的首地址,把地址强制转换成 char *类型后赋给char *类型的指针变量p;这块地址是用来保存char类型的数据。

1)内存是否申请成功? if( NULL !=p )

2)使用结束后,一定要释放,要求malloc和free符合一夫一妻制;

3)内存释放后(使用free函数之后指针变量p本身保存的地址并没有改变),需要将p的值赋值为NULL(拴住野指针)。

char *p = (char *) malloc(1000);

if (NULL != p)

{

......

free(p);

p = NULL;

}

else

{

}

7 字符串 最后一位 有没有 包括'\0'    申请空间的时候注意要加1  strlen(s)   +  1

8.理解 递归  逆置

  1. void reverse(char *s ,int len)
  2. {
  3. char ch;
  4. if(len>)//len>=1
  5. {
  6. ch = *s;
  7. *s = *(s+len-);
  8. *(s+len-) = ch;
  9. reverse(s+;len-);
  10. }
  11. }

9.读取文件 必须通过定义FIFE类型的指针变量和文件操作函数来访问外存文件。

ru : FIFE *fp;

10.函数参数传递  值传递 2010下半年 试题三 说明2

11.结构体

  1. typedef struct Node
  2. {
  3. int data;
  4. struct Node *next;
  5. }Node,*LinkList;

若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n;
 若typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NODE 是node 的别名。区别就在于使用时,是否可以省去struct这个关键字。

在C中定义一个结构体类型时如果要用typedef:
typedef struct Student
{
   int no;
   char name[12];
}Stu,student;
于是在声明变量的时候就可:Stu stu1;或者:student stu2;(Stu 和student 同时为Student的别名)
如果没有typedef即:
struct Student
{
   int no;
   char name[12];
}Stu;
就必须用struct Student stu1;或者struct Stu stu1;来声明
另外这里也可以不写Student(于是也不能struct Student stu1;了)
typedef struct
{
   int no;
   char name[12];
}Stu;

在c++中如果用typedef的话,又会造成区别:
struct Student
{
   int no;
   char name[12];
}stu1;//stu1是一个变量

typedef struct Student2
{
   int no;
   char name[12];
}stu2;//stu2是一个结构体类型,即stu2是Student2的别名
使用时可以直接访问stu1.no
但是stu2则必须先定义 stu2 s2;
然后 s2.no=10;

12.条件表达式

x=<表达式1>?<表达式2>:<表达式3>
其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 口诀:前真后假。
  1. z =x>y?x:y; x>y z赋值x. 否则给z赋值y

软考 程序员 下午考题 c语言 笔记的更多相关文章

  1. Java程序员快速入门Go语言

    这篇文章帮助Java程序员快速入门Go语言. 转载至 开源中国社区. http://www.oschina.net 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将 ...

  2. 《程序员思维修炼》读书笔记——week4

    <程序员思维修炼>读书笔记——week4 PB16061441 陈昶金 这周读的是Andy Hunt的著作<程序员思维修炼>,这本书对于我这种刚刚入门的新手很友好,大多是讲一些 ...

  3. C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型

    遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前 ...

  4. 【185天】黑马程序员27天视频学习笔记【Day14-下】

    叨逼叨两句 不容易,白天被叫去帮忙,不得已晚上来挑灯夜战,熬到2点,总算完成任务了. 我打算下周开始换一个更新时间,每次把deadline设置为晚上12点,都会接近或者超过这个时间,之后改成中午12点 ...

  5. 黑马程序员——OC与C语言的异同比较

    1.  文件介绍:Objective-C 也使用头文件(header files),后缀为 .h, 但使用 .m(即 message, 其他面向对象编程语言也叫 method),作为源文件的后缀.   ...

  6. 黑马程序员 1、C语言32个关键字整理分类

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------ C语言一共有32个关键字 一.数据类型关键字(共20个) A.基本数据类型(5个)void :声明 ...

  7. 《Java程序员面试宝典》读书笔记1

    今天读书发现一个很有趣的问题 请问以下程序会输出什么? public   class   Test2   {  public   static   void   main(String[]   arg ...

  8. 【程序员的SQL金典】笔记(第6章~第11章)

        第六章 索引与约束   1.索引用来提高数据的检索速度,而约束则用来保证数据的完整性.   2.创建索引 创建索引的SQL 语句是CREATE INDEX,其语法如下: CREATE INDE ...

  9. pwn学习日记Day10 《程序员自我修养》读书笔记

    第一章 从 Hello world 说起 抛出问题: 1.程序为什么要被编译器编译后才能执行? 2.编译器在把C语言程序转换成可以执行的机器码的过程中做了什么,怎么做的? 3.最后编译出来的可执行文件 ...

随机推荐

  1. javaWeb学习总结(11)- 监听器(Listener)在开发中的应用

    监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...

  2. 百度前端技术学院—-小薇学院(HTML+CSS课程任务)

    任务一:零基础HTML编码 课程概述 作业提交截止时间:04-24 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理 ...

  3. 开源网络操作系统--VyOS

    User Guide Jump to: navigation, search Contents 1 Introduction 2 Installation 3 Using the Command-Li ...

  4. String为值类型还是引用类型

    关于String为值类型还是引用类型的讨论一直没有平息,最近一直在研究性能方面的问题,今天再次将此问题进行一次明确.希望能给大家带来点帮助. 如果有错误请指出. 来看下面例子: //值类型 int a ...

  5. Docker手动配置Lamp镜像

    自从接了学长布置的任务,自学Docker也学了很久了,先整一个Lamp出来吧 在Docker Hub上找了很多Lamp的镜像 网上都说tutum的镜像做的还是不错的 试试 折腾了一上午无果... 算了 ...

  6. 剖析WPF数据绑定机制

    引言 WPF框架采取的是MVVM模式,也就是数据驱动UI,UI控件(Controls)被严格地限制在表示层内,不会参与业务逻辑的处理,只是通过数据绑定(Data Binding)简单忠实地表达与之绑定 ...

  7. python基础操作_集合_三元运算

    #使用操作文件的时候,可以使用with函数#with open('E:\info.txt','a+') as fr#fr这个值可以是任意值# :#for line in fr:'''with open ...

  8. Java开发中的23+2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  9. BOM(2)

    Window 子对象 (1)Location 对象 Location 对象包含有关当前 URL(统一资源定位符) 的信息.(Uniform Resource Location) Location 对象 ...

  10. 高性能迷你React框架anu在低版本IE的实践

    理想是丰满的,现实是骨感的,react早期的版本虽然号称支持IE8,但是页面总会不自觉切换到奇异模式下,导致报错.因此必须让react连IE6,7都支持,这才是最安全.但React本身并不支持IE6, ...