zoukankan      html  css  js  c++  java
  • 有关c语言编程

    有关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,"
    ") && (mystring[0]!='/' && mystring[1]!='/'))//如果读入的这行第一第二个字符不是‘\’,不是空行就记入
        {
    		return 1;
    	}
    	return 0;
    }
    
    

    image

    这个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;
    }
    

    image

    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("
    ");
        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;
    }
    
    

    image

  • 相关阅读:
    eclipse ve 问题
    NHibernate配置
    JDOM/XPATH编程指南
    win2003的IIS配置的陷阱
    关于setInterval的用法
    用Visio来做工作流定义工具
    分类算法要解决的问题
    win2003 运行 aspx程序出现Temporary ASP.NET Files 访问被拒绝 的解决方法
    ado recordset的一个陷阱
    为ServerXMLHTTP对象的HTTP请求设置超时时间
  • 原文地址:https://www.cnblogs.com/clever-universe/p/6479730.html
Copyright © 2011-2022 走看看