有关C语言编程

统计代码“行数”

对于统计代码“行数”,行数不包括空白行和注释行。程序改进如下:

 while(fgets (mystring , 100 , fp)!=NULL)//按字符串读入mystring,最多读入长度100
{
if (fp == NULL) printf("Error opening file");
else
{
if(mystring[0]=='/' && mystring[1]=='*')//判断开头有没有/*
{
while(mystring[strlen(mystring)-1]!='*' && mystring[strlen(mystring)-2]!='/')//开头有/*就进入循环不断读取,
//直到读到*/,这样这一段都不会被记入
{
fgets(mystring,100,fp);
}
fgets(mystring,100,fp);
}
hangshu+=judge(mystring);
}
}

这是判断//和空行的函数

int judge(char mystring[]){
if(strcmp(mystring,"\n") && (mystring[0]!='/' && mystring[1]!='/'))//如果读入的这行第一第二个字符不是‘\\’,不是空行就记入
{
return 1;
}
return 0;
}

这个c++文件一共345行,亲自数了数空白行和注释行,减掉之后的确是269行。

char ((x[4])())[4]这个声明中的x是什么

参考了ZTE笔试中的char ((x[3])())[5]解释

分析如下:

  • x[4]:x是四个元素的数组
  • (x[4])():x是4个元素的数组,元素是函数的返回值
  • char ((x[4])())[4]:x是四个元素的数组,元素是函数的返回值,又是char数组的数组名。

数组复制,查找,排序C有相关库函数

  1. C语言里只有字符数组存在库函数strcpy可以进行字符串复制,其它数组没有。
#include <stdio.h>
#include <string.h>
int main()
{
//字符数组复制
char string[100];
strcpy(string,"I am a student.");
puts(string);
return 0;
}

2.查找、排序的C语言相关库函数,参考数据结构与算法-----搜索和排序(C语言库函数的使用)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmpInt(const void *a,const void *b)
{
return *(const int*)a - *(const int*)b;
}
int main()
{
int i,j,num,size,searchNum;
int *ip;
/*对数字进行排序和搜索*/
int Int[100];
for(i=0;i<100;i++)
{
scanf("%d",&Int[i]);
if(Int[i]==-1)
break;
}
num=i;//数组中元素数量
size=sizeof(Int[0]);//每一元素大小
qsort(Int,num,size,cmpInt);//快排法排列数组
for(i=0;i<num;i++)
printf("[%d] ",Int[i]);
printf("\n");
printf("Pls input the search num:");
scanf("%d",&searchNum);
ip=bsearch(&searchNum,Int,num,size,cmpInt);/*此处为重点,传入的是欲查找关键数据的地址;找到关键数据返回地址*/
(ip==NULL)?puts("Not Found"):puts("Found");
return 0;
}

有关c语言编程的更多相关文章

  1. C语言编程实现Linux命令——who

    C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...

  2. 个人c语言编程风格总结

    总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...

  3. Linux下C语言编程实现spwd函数

    Linux下C语言编程实现spwd函数 介绍 spwd函数 功能:显示当前目录路径 实现:通过编译执行该代码,可在终端中输出当前路径 代码实现 代码链接 代码托管链接:spwd.c 所需结构体.函数. ...

  4. 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++

    前言 关于混合C#和C++的编程方式,本人之前写过一篇博客(参见混合语言编程:C#使用原生的Directx和OpenGL),在之前的博客中,介绍了在C#的Winform和WPF下使用原生的Direct ...

  5. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  6. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  7. 第二章 C语言编程实践

    上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...

  8. 华为C语言编程规范

    DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...

  9. 9 本免费的 Python 语言编程书籍(转载)

    9 本免费的 Python 语言编程书籍 原文地址:http://linuxtoy.org/archives/9-free-python-books.html 2010-03-03 Toy Poste ...

  10. linux 操作系统下c语言编程入门

    2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理  ...

随机推荐

  1. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  2. Dockerfile 部署 nodejs

    1.编写.dockerignore 构建镜像时,并不需要node_modules目录等内容,可以使用.dockerignore忽略一些文件 # .dockerignore Dockerfile nod ...

  3. linux命令总结kill命令详解

    1.作用 kill命令用来中止一个进程. 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号. ...

  4. C语言中的指针和内存泄漏几种情况

    引言 原文地址:http://www.cnblogs.com/archimedes/p/c-point-memory-leak.html,转载请注明源地址. 对于任何使用C语言的人,如果问他们C语言的 ...

  5. linq的语法和案例

    本篇逐一介绍linq各个关键字的用法(from,select,group,into等),本篇所有的案例都是用linqpad来完成的(官方地址:http://www.linqpad.net/),建议想学 ...

  6. 洛谷P1456 Monkey King

    https://www.luogu.org/problemnew/show/1456 #include<cstdio> #include<iostream> #include& ...

  7. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第四部分(Page 9)

    编写你的第一个 Django app,第四部分(Page 9)转载请注明链接地址 该教程上接前面的第三部分.我们会继续开发 web-poll 应用,并专注于简单的表单处理和简化代码. 写一个简单的表单 ...

  8. Minicap使用分析

    想起前段时间研究过的minicap,抱着无果的心情再次看了源码,这次竟然比上次清晰了一点点,难道是因为这两天被android源码折磨得身心疲惫然而却在不知不觉中增长了?不懂怎么样,看懂了大概. Min ...

  9. HDU 1556 Color the ball (树状数组 区间更新+单点查询)

    题目链接 Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的"小飞鸽&quo ...

  10. sql server中的日期函数

    DATEADD   在向指定日期加上一段时间的基础上,返回新的 datetime 值. 语法           DATEADD ( datepart , number, date ) 参数 (1) ...